Сегодня я расскажу как найти все старые списки, элементы которых давно не меняли.
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 =
$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"
$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
|
Надеюсь статья будет Вам полезна.