I just modified this script so that it creates a report of all items with/without major versions, for lists that support minor versions.
Here it is:
function Audit-Webs($SiteUrl,$CheckSubWebs) { $items = New-Object psobject $items | Add-Member -MemberType NoteProperty -Name "Title" -value "" $items | Add-Member -MemberType NoteProperty -Name "HasMajorVersion" -value "" $items | Add-Member -MemberType NoteProperty -Name "ListTitle" -value "" $items | Add-Member -MemberType NoteProperty -Name "Web" -value "" $a = $null $a = @() $w = get-spweb $SiteUrl $lc = $w.Lists; foreach($l in $lc){ if($l.Title -eq "Relationships List"){continue;} if($l.Hidden -eq $true){continue;} if($l.EnableMinorVersions -eq $true){ $listitems = $l.Items foreach($i in $listitems){ $b = $items | Select-Object *; $b.ListTitle=$l.Title; $b.Web=$w.Title; if([String]::IsNullOrEmpty($i["Title"])){$b.Title = "";} else{$b.Title = $i["Title"];} if($i.HasPublishedVersion){$b.HasMajorVersion = $true;} else{ $b.HasMajorVersion = $false;} $a+=$b } } } if($CheckSubWebs) { if($w.Webs.Count -gt 0) { foreach($sw in $w.Webs) { $a += Audit-Webs -SiteUrl $sw.Url -CheckSubWebs $true } } } $w.Dispose(); Write-Output $a } $a = $null $a = @() $a = Audit-Webs -SiteUrl "http://my" -CheckSubWebs $true $a | Where-Object {$_} | Export-Csv -Delimiter "," -Path C:\export.csv -notype
No comments:
Post a Comment