Warning: Constant USER_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 85

Warning: Constant PASS_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 86

Warning: Constant AUTH_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 87

Warning: Constant SECURE_AUTH_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 88

Warning: Constant LOGGED_IN_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 89

Warning: Constant TEST_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 90
Найти и удалить повторяющиеся записи в списке SharePoint « Марк и Марта.Ру. Записки отца-программиста




Найти и удалить повторяющиеся записи в списке SharePoint


Warning: Undefined variable $thumbnail in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 44

Warning: Attempt to read property "ID" on null in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 44

Warning: Undefined variable $thumbnail in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 45

Warning: Attempt to read property "post_title" on null in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 45

Сегодня был неприятно удивлен тем, что обнаружил повторяющиеся записи в том списке SharePoint, в котором они не должны были появляться. Вероятность появления повторяющихся записей была, потому сразу озадачился узнать, сколько всего повторяющихся записей образовалось. Всего в списке было порядка 20 000 записей.

Немного попользовавшись поиском, нашел подходящий PowerShell-скрипт. Он правда сразу удалял найденные дубликаты, я в него добавил строчку, чтобы сначала можно было посмотреть на найденные записи – может их и не стоит удалять.

 Add-PSSnapin microsoft.sharepoint.powershell 
    $web = Get-SPWeb -Identity http://spdev/vc 
    $list = $web.Lists["companies"] 

    $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.GetItemById($_.ID).Delete()} 
    	#строчка ниже выводит на экран информацию об обнаруженных повторяющихся записях
    	Write-Host $duplicate.Name 
    } 
Remove-PsSnapin Microsoft.SharePoint.PowerShell

 


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment





Срок проверки reCAPTCHA истек. Перезагрузите страницу.



MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика