[void] [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") $farm = [Microsoft.SharePoint.Administration.SPFarm]::Local $websvcs = $farm.Services | where -FilterScript {$_.GetType() -eq [Microsoft.SharePoint.Administration.SPWebService]} $webapps = @() $outputfile = "output.txt" if (Test-Path $outputfile) { Remove-Item $outputfile } Add-Content $outputfile "siteurl * weburl * webtemplate * webtype" foreach ($websvc in $websvcs) { if ($websvc.TypeName -eq "Windows SharePoint Services Web Application") { foreach ($webapp in $websvc.WebApplications) { foreach($spsite in $webApp.Sites) { $siteurl = $spsite.Url foreach($spweb in $spsite.AllWebs) { $weburl = $spweb.Url $webtemplate = $spweb.WebTemplate if ($siteurl -eq $weburl) { $webtype = "Site Collection" } else { $webtype = "Sub site" } Add-Content $outputfile "$siteurl * $weburl * $webtemplate * $webtype" $spweb.Dispose() } $spsite.Dispose() } } } }