Согласно документации MS количество промежуточных версий у списка/библиотеки должно быть не более 511, но я заметил что когда работаешь с файлом через WebDav, то не учитывается
лимит который установлен в списке/библиотеки.
Т.е. к примеру когда я редактирую файл через Блокнот, то у
меня плодятся промежуточные версии без ограничений.
То же с редактированием файлов в локальных приложения
офиса к примеру Word.
В общем написал скрипт, который пробегает по всем элементам
списка/библиотеки и подрезает все промежуточные версии больше указанного
количества.
cls
$limitDraftVer = 10 # указать лимит промежуточных версий
$countDelVer = 0
$web = Get-SPWeb http://site/
$list = $web.Lists['StyleLibrary']
$items = $list.Items
foreach($item in $items)
{
#if($item.Id -eq 113)
# {
$myItem = $item
$countVer = 0
for( $i = 0; $i -le $myItem.Versions.Count; $i++ )
{
$ver = $myItem.Versions[$i]
if($ver.Level -eq 'Draft' )
{
$countVer ++
if($countVer -ge $limitDraftVer)
{
$ver.Delete()
$countDelVer ++
$i--
}
}
}
#}
}
$web.Dispose()
$countDelVer



Комментариев нет:
Отправить комментарий