Sharepoint - Enable versioning on all lists and libraries
Sure. Here is a script that can do it. Replace $siteURL
with your site's url.
Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
$site = Get-SPSite($siteURL)
foreach($web in $site.AllWebs) {
Write-Host "Inspecting " $web.Title
foreach ($list in $web.Lists) {
if($list.BaseType -eq "DocumentLibrary") {
Write-Host "Versioning enabled: " $list.EnableVersioning
Write-Host "MinorVersioning Enabled: " $list.EnableMinorVersions
Write-Host "EnableModeration: " $list.EnableModeration
Write-Host "Major Versions: " $list.MajorVersionLimit
Write-Host "Minor Versions: " $list.MajorWithMinorVersionsLimit
$list.EnableVersioning = $true
$list.EnableMinorVersions = $true
$list.MajorVersionLimit = 2
$list.MajorWithMinorVersionsLimit = 5
$list.Update()
Write-Host $list.Title " is updated with MajorVersionLimit 2 and MajorwithMinorVersionsLimit = 5"
}
}
}
You can read more here:
http://social.technet.microsoft.com/Forums/en-US/sharepoint2010setup/thread/2d82272d-9aea-453a-b2ae-bf7df55a0304/
I know it's been 3 years ago and already answered, but here you can find plenty of versioning scripts and ready programs:
Disable a versioning on Image Libraries in SharePoint using PowerShell
Enable versioning for all SharePoint Online lists using Powershell
Enable versioning for all lists in SharePoint Online tenant (C#)
Restore and clean up SharePoint versions
Enable minor versions for all SharePoint Online lists using Powershell
The scripts/codes are usually published, so you can adapt them to your needs.