有没有办法使用 powershell 在 SharePoint 列表中查找重复值并将它们重命名为“_1”、“_2”、“_3”等。
作为我的测试“产品”列表中的示例,我有以下项目:
因此,对于上面突出显示的具有重复“SAPMaterial”值的项目,有没有办法使用 powershell 通过列表查找具有重复值的项目,然后如果发现重复值,则将其“SAPMaterial”值更新为喜欢:
- 000000000000227142_1
- 000000000000227142_2
等等....
我想了解如何使用 powershell 执行此操作的原因是因为我们有一个包含大约 300 个项目的列表,并且对于相当多的这些项目,“SAPMaterial”列中的值有重复项。这将永远手动完成。
我到目前为止的powershell如下:
#Add-PSSnapin microsoft.sharepoint.powershell
$web = Get-SPWeb -Identity "siteURL/"
$list = $web.Lists["Products"]
$AllDuplicates = $list.Items.GetDataTable() | Group-Object SAPMaterial | where
{$_.count -gt 1}
$count = 1
$max = $AllDuplicates.Count
foreach($duplicate in $AllDuplicates)
{
$duplicate.group | Select-Object -Skip 1 | % {$list.GetItemById($_.ID).Delete()}
Write-Progress -PercentComplete ($count / $max * 100) -Activity "$count duplicates
removed" -Status "In Progress"
$count++
}
感谢您的任何建议...