Согласно документации MS количество промежуточных версий у списка/библиотеки должно быть не более 511, но я заметил что когда работаешь с файлом через WebDav, то не учитывается
лимит который установлен в списке/библиотеки.
Т.е. к примеру когда я редактирую файл через Блокнот, то у
меня плодятся промежуточные версии без ограничений.
То же с редактированием файлов в локальных приложения
офиса к примеру Word.
В общем написал скрипт, который пробегает по всем элементам
списка/библиотеки и подрезает все промежуточные версии больше указанного
количества.
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 | cls $limitDraftVer = 10 # указать лимит промежуточных версий $countDelVer = 0 $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 |
Комментариев нет:
Отправить комментарий