Wednesday, May 6, 2015

Find last modified date, size of certain site collections in SharePoint via PowerShell

cls
Add-PSSnapIn "Microsoft.SharePoint.PowerShell"
$webApplication = "web application url"
$splitString = "sites"
$csvFile = Import-Csv -path "csv file path" -Delimiter ";" | select site # The csv file contains list of all sites. In my case it was around 650 sites
$sites = Get-SPSite -WebApplication http://portal.tuv.net -Limit ALL

[string]$content = "" 

foreach($csv_site in $csvFile)
{
     Write-Host "Site Title from Csv: " $csv_site.Site -f Blue
     #$found_site = $sites | Where-Object{ $_.Url -like "*" + $csv_site.Site + "*"}
     foreach($site in $sites)
     {
        $siteurl = $site.Url.ToString().split("/")[$site.Url.ToString().split("/").length -1]
        if($siteurl -eq $csv_site.Site)
        {             
             [int]$size = $site.Usage.Storage /1024 /1024
          $content += $site.LastContentModifiedDate.ToLocalTime().toString("dd.MM.yyyy") + "`t" + $size + "`t" + $site.Url + "`t" + $site.RootWeb.Title + "`n"
             Write-Host "Found: " $csv_site.Site -f Green
        }
     }      
}

Set-Content -Path .\GetAllSitesSize.txt -Value $content 

No comments:

Post a Comment