Using cmdlets from both the Exchange Management Shell and Windows PowerShell gives us the ability to generate detailed reports. In this recipe, we will use these cmdlets to report on all of the mailboxes within an organization and their total size.
Use the following one-liner to generate a report of each mailbox in the organization and the total mailbox size:
Get-MailboxDatabase | Get-MailboxStatistics | ?{!$_.DisconnectDate} | Select-Object DisplayName,TotalItemSize
Pipe the command even further to export the report to a CSV file that can be opened and formatted in Excel:
Get-MailboxDatabase | Get-MailboxStatistics | ?{!$_.DisconnectDate} | Select-Object DisplayName,TotalItemSize | Export-CSV c:\mbreport.csv -NoType