Сегодня решил рассмотреть вариант поиска больших списков с помошью PowerShell
Наткнувшийсь на итересную статью (спасибо автору), решил ее до работать. Нужно было сделать решение более универсальным.
Для этого добавил возможность пройти по нескольким семействам сайтов (указываем в переменной $arraySite) и выводить только те списки и библиотеки в которых количесво элементов больше требуемого (указываем нужное значение переменной $maxvalue ).
Теперь перейдем к коду:
Наткнувшийсь на итересную статью (спасибо автору), решил ее до работать. Нужно было сделать решение более универсальным.
Для этого добавил возможность пройти по нескольким семействам сайтов (указываем в переменной $arraySite) и выводить только те списки и библиотеки в которых количесво элементов больше требуемого (указываем нужное значение переменной $maxvalue ).
Теперь перейдем к коду:
cls if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) { Add-PSSnapin Microsoft.SharePoint.PowerShell; } #Перечень семейств сайтов в которых нужно найти списки, адреса через запятую $arraySite = "http://server/ SiteCollection1", "http://server/ SiteCollection2" $maxvalue = 2000 #максимальное количество элементов списка $ListsInfo = @{} $TotalItems = 0 Foreach ($currentSite in $arraySite) { $SiteCollection = Get-SPSite $currentSite ForEach ($Site in $SiteCollection.AllWebs) { ForEach ($List in $Site.Lists) { if ($List.ItemCount -gt $maxvalue) { $ListsInfo.Add($Site.Url + " - " + $List.Title, $List.ItemCount) $TotalItems += $List.ItemCount } } } } $ListsInfo.GetEnumerator() | sort name | Format-Table -Autosize Write-Host "Количество списков: " $ListsInfo.Count Write-Host "Общее количество элементов: " $TotalItems
Комментариев нет:
Отправить комментарий