На днях появилась задача удалить версии у неактуальных элементов которым уже 4 года и старше. Я решил воспользоваться уже знакомым PowerShell.
Для начала нужно понять до какого элемента будем удалять журнал версий и получить его ID.
Немного расскажу что делает скрипт:
1. меняет значение максимального числа хранимых версий в списке. (рис. ниже)
2. пробегает циклом по элементам списка начиная с ID = 1 и заканчивает значением установленным в скрипте.
надеюсь что статья Вам будет полезна.
Для начала нужно понять до какого элемента будем удалять журнал версий и получить его ID.
Немного расскажу что делает скрипт:
1. меняет значение максимального числа хранимых версий в списке. (рис. ниже)
Заметки: если Вы планируете в новых элементах хранить больше версий чем установлено в скрипте, то после отрабатывания скрипта, необходимо самостоятельно установить значение в настройках списка .
2. пробегает циклом по элементам списка начиная с ID = 1 и заканчивает значением установленным в скрипте.
cls
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
$SPWeb = Get-SPWeb http://server/sites/test #изменить на необходимый адрес сайта#
$List = $SPWeb.Lists["Задачи"] #указать свой список#
$ItemsColl = $List.Items
$List.MajorVersionLimit = 2 #задать максимальное количество версий#
$List.Update()
foreach ($item in $ItemsColl)
{
if ($item.id -le 5) #до какого значения id элемента будет проводится чистка журнала#
{
write-host "у элемента с ID = "$item.id" журнал удален." -foregroundcolor Green
$item.SystemUpdate($false)
}
}
$SPWeb.Dispose();
P.s. рекомендую проводить работы в не рабочее время т.к. после сохранений пользователем изменений в элементе так же будет урезан журнал версий у этого элемента.надеюсь что статья Вам будет полезна.

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