Get Site Collection Size using PowerShell


Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue
$Sites = (Get-SPContentDatabase Content_DB).Sites
$AllSites = @();
foreach($site in $Sites)
{
    $Site = Get-SPSite $site.Url
    $Size = $site.usage.storage
    $Size = $Size/1mb
    $ASite = New-Object PSObject
    Add-Member -input $ASite noteproperty 'Url' $Site.url
    Add-Member -input $ASite noteproperty 'Size' $Size
    $AllSites+=$ASite
    $site.Dispose()
}
$AllSites | Sort-Object descending  | Out-GridView