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