Сегодня я расскажу как найти все старые списки, элементы которых давно не меняли.
получаем такой результат
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | $arraySite = "http://site/" , "http://site/hr/" # перечень семейства сайтов, через запятую $modifieDate = "09/24/2014 00:00:00" #дата последнего изменения $ListsInfo = @{} $TotalItems = 0 Foreach ( $currentSite in $arraySite ) { $SiteCollection = Get -SPSite $currentSite ForEach ( $Site in $SiteCollection .AllWebs) { ForEach ( $List in $Site .Lists) { if ( $List .LastItemModifiedDate -lt $modifieDate ) { $ListsInfo .Add( $Site .Url + " - " + $List .Title, $List .LastItemModifiedDate) $TotalItems += $List .ItemCount } } $SiteCollection .Dispose() } } $ListsInfo .GetEnumerator() | sort name | Format-Table -Autosize Write-Host "Количество списков: " $ListsInfo .Count Write-Host "Общее количество элементов: " $TotalItems |
Обновление!!!
на форуме меня попросили написать аналогичный код для поиска страниц, которые находятся в библиотеках с названием "Страницы сайта"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | $arraySite = $modifieDate = "01.12.2014 00:00:00" #дата изменения mm.dd.yyyy $listTitle = "Страницы сайта" $ListsInfo = @{} $TotalItems = 0 Foreach ( $currentSite in $arraySite ) { $SiteCollection = Get -SPSite $currentSite ForEach ( $Site in $SiteCollection .AllWebs) { ForEach ( $List in $Site .Lists) { if ( $List .Title -eq $listTitle ) { $items = $List .Items foreach ( $item in $items ) { if ( $item [ 'Modified' ] -le $modifieDate ) { $ListsInfo .Add( $Site .Url + " - " + $item .Name , $item [ 'Modified' ]) $TotalItems += $List .ItemCount } } } } $SiteCollection .Dispose() } } $ListsInfo .GetEnumerator() | sort name | Format-Table -Autosize Write-Host "Количество страниц: " $TotalItems |
Надеюсь статья будет Вам полезна.
Комментариев нет:
Отправить комментарий