У меня есть список, который содержит тысячи записей, и мне нужно, чтобы они были уникальными. Я нашел скрипт PowerShell онлайн, который будет работать, если у меня будет только один уникальный столбец. Однако мне приходится группировать по 2 столбца, и я не могу понять, как заставить его работать.Удалить повторяющиеся элементы в списке SharePoint
Например, если у меня есть эти данные в списке SP, только если оба столбца являются дубликатами, если элементы будут удалены.
Title Carrier
1 Carrier1
1 Carrier1 *Remove This One
12 Carrier1
12 Carrier2
100 Carrier1
100 Carrier1 *Remove This One
100 Carrier2
Вот пример кода, я нашел в Интернете, который будет работать на 1 колонку, но не 2.
cls
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
$ListName = "DuplicateTest"
$web = Get-SPWeb -identity "http://MyVM/sites/TestSite"
$list = $web.Lists[$ListName]
$AllDuplicates = $list.Items.GetDataTable() | Group-Object Title | where {$_.count -gt 1}
$count = 1
$max = $AllDuplicates.Count
foreach($duplicate in $AllDuplicates)
{
$duplicate.group | Select-Object -Skip 1 | % {$list.Items.DeleteItemById($_.ID)}
Write-Progress -PercentComplete ($count/$max * 100) -Activity "$count duplicates removed" -Status "In Progress"
$count++
}
Фигурные его, Название Group-Object, Carrier Простой, но эффективный. –