cls
Add-PSSnapin Microsoft.SHarePoint.Powershell -erroraction SilentlyContinue
$SystemLists =@("Pages", "Converted Forms", "Master Page Gallery", "Customized Reports", "Form Templates", "List Template Gallery", "Theme Gallery", "Reporting Templates", "Site Collection Images", "Site Pages", "Solution Gallery", "Style Library", "Web Part Gallery", "wfpub")
$URLListFile = "C:\setversion.txt"
$URLList = Get-Content $URLListFile -ErrorAction SilentlyContinue
Foreach($SiteURL in $URLList)
{
$SPweb = Get-SPWeb $SiteURL
Write-Host "Site Name: '$($SPweb.Title)' at $($SPweb.URL)" -ForegroundColor Green
# loop through all lists in web
foreach ($SPlist in $SPweb.Lists)
{
if($SPlist.EnableVersioning -eq $true)
{
write-host "Setting versioning Limit for :" $SPlist.title
if(($SPlist.BaseType -eq "DocumentLibrary") -and ($SPlist.Hidden -eq $false) -and ($SystemLists -notcontains $List.Title)){
$SPlist.MajorVersionLimit = 5;
$SPlist.EnableMinorVersions = $true;
$SPlist.MajorWithMinorVersionsLimit = 5;
$SPlist.Update();
}
}
$list = $SPweb.Lists[$SPlist.Title]
foreach($spitem in $list.Items)
{
#Perform a empty update - without creating new version, so that versioning changes will take effect
$itemId= $spitem.ID
$item = $list.GetItemById($itemId)
$item.SystemUpdate()
}
}
}
$SPweb.Dispose()



No comments:
Post a Comment