#Firstly, get the users mailbox... ONLY objects that are UserMailbox and not HiddenFromAddressListsEnabled $MailboxUser = Get-Mailbox | Where {($_.RecipientType -eq "UserMailbox") -and ($_.HiddenFromAddressListsEnabled -eq $False)} #Secondly, get the mailbox statistics for the selected users. Some formatting also $MessageBody = $MailboxUser | Get-MailboxStatistics | Sort-Object TotalItemSize | Select DisplayName, ItemCount, @{Expression={$_.TotalItemSize.Value.ToMB()};Name="MailboxSize MB"} | ConvertTo-html #Finally, enter your mail server details $FromAddress = "FromAddress@YourDomain.com" $ToAddress = "ToAddress@YourDomain.com" $MessageSubject = "PowerShell Report Subject" $SendingServer = "YourMailServerAddress" $SMTPMessage = New-Object System.Net.Mail.MailMessage $FromAddress, $ToAddress, $MessageSubject, $MessageBody $SMTPMessage.IsBodyHtml = $true $SMTPClient = New-Object System.Net.Mail.SMTPClient $SendingServer $SMTPClient.Send($SMTPMessage) #Written by Matt Shadbolt #http://www.mattlog.net