Connect to Exchange Online PowerShell
Exchange Online PowerShell Modunle
You need install Exchange Online module only once. In the next time, run to connect to Exchange Online PowerShell.
##Connect to Exchange Online.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine -Force;
Install-PackageProvider -Name NuGet -Force;
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted;
Install-Module -Name ExchangeOnlineManagement;
Import-Module ExchangeOnlineManagement;
Connect-ExchangeOnline;
Get statistics of single mailbox
$email = read-host 'Email address to get statistcs'
##Get mailbox statistics.
$UPN=(Get-ExoMailbox -Identity $email).UserPrincipalName
$DisplayName=(Get-MailboxStatistics -Identity $UPN).DisplayName
$TotalItemSize=(Get-MailboxStatistics -Identity $UPN).TotalItemSize
$ItemCount=(Get-MailboxStatistics -Identity $UPN).ItemCount
$Result=@{'UserPrincipalName'=$upn;'DisplayName'=$DisplayName;'TotalItemSize'=$TotalItemSize;'ItemCount'=$ItemCount}
$Output= New-Object PSObject -Property $Result
$Output | Select-Object UserPrincipalName,DisplayName,TotalItemSize,ItemCount | FT
Get statistics of all mailboxes
#Get mailboxes statistics
New-Item -Path "$env:temp" -Name "O365" -ItemType "directory" -Force
Get-ExoMailbox -ResultSize Unlimited -Filter "Name -notlike '*discover*'" |
ForEach-Object{
$UPN=$_.UserPrincipalName
$DisplayName=(Get-MailboxStatistics -Identity $UPN).DisplayName
$TotalItemSize=(Get-MailboxStatistics -Identity $UPN).TotalItemSize
$ItemCount=(Get-MailboxStatistics -Identity $UPN).ItemCount
$Print=1
$MBUserCount++
Write-Progress -Activity "`n Processed mailbox count: $MBUserCount "`n" Currently Processing: $DisplayName"
$OutputCount++
$Result=@{'UserPrincipalName'=$UPN;'DisplayName'=$DisplayName;'TotalItemSize'=$TotalItemSize;'ItemCount'=$ItemCount}
$Output= New-Object PSObject -Property $Result
$Output | Select-Object UserPrincipalName,DisplayName, @{name=”TotalItemSize (GB)”;expression={[math]::Round((($_.TotalItemSize.Value.ToString()).Split(“(“)[1].Split(” “)[0].Replace(“,”,””)/1GB),2)}},ItemCount | Sort “TotalItemSize (GB)” -Descending | Export-Csv $env:temp\o365\Office365-MailboxSize-Report.csv -NoTypeInformation -Encoding UTF8 -Append
}
ii $env:temp\o365
5/5 - (1 vote)