I had this requirement where I had to loop through all the Webs and create a report on how many document libraries do not have versioning enabled.
I found this blog post which actually does something similar but it checks the version size.
http://www.sharepointdiary.com/2013/01/document-versions-size-report-powershell.html
I have updated the script for my requirements and I am sharing with you guys in case if someone had the same requirements.
Add-PSSnapin Microsoft.SharePoint.PowerShell #Replace the URL with your Web Application $WebAppURL = "http://intranet.contoso.com"; #Get the Web Application $WebApp=Get-SPWebApplication($WebAppURL); #Write the CSV Header - Tab Separated "Site Name`t Site URL `t Library `t Versioning Enabled" | out-file C:\temp\DocLibVersioningReport.csv ; #Loop through each site collection foreach($Site in $WebApp.Sites) { #Loop through each site in the site collection foreach($Web in $Site.AllWebs) { #write-host $Web.Title; #Loop through each List foreach ($List in $Web.Lists) { #Get only Document Libraries & Exclude Hidden System libraries if ( ($List.BaseType -eq "DocumentLibrary") -and ($List.Hidden -eq $false) ) { "$($Web.Title) `t $($Web.Url) `t $($List.Title) `t $($List.EnableVersioning)" | Out-File C:\temp\DocLibVersioningReport.csv -Append ; } } $Web.Dispose() ; } $Site.Dispose() ; } write-host "Report Generated Successfully!" ;