$Result = @()
#Get all user mailboxes
$mailboxes = Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox
$totalmbx = $mailboxes.Count
$i = 0
$mailboxes | ForEach-Object {
$i++
$mbx = $_
Write-Progress -activity "Processing $mbx" -status "$i out of $totalmbx completed"
# Get primary mailbox statistics
$primaryStats = Get-MailboxStatistics $mbx.UserPrincipalName
# Get archive mailbox statistics if it exists
$archiveStats = $null
if ($mbx.ArchiveStatus -eq "Active") {
$archiveStats = Get-MailboxStatistics $mbx.UserPrincipalName -Archive
}
$Result += New-Object -TypeName PSObject -Property $([ordered]@{
UserName = $mbx.DisplayName
UserPrincipalName = $mbx.UserPrincipalName
PrimaryMailboxStatus = $primaryStats.LastLogonTime -ne $null
PrimaryMailboxSizeInMB = if ($primaryStats.TotalItemSize -ne $null) {
[math]::Round(($primaryStats.TotalItemSize.ToString().Split('(')[1].Split(' ')[0].Replace(',', '') / 1MB), 2)
} else {
0
}
ArchiveMailboxStatus = if ($archiveStats -ne $null) { $archiveStats.LastLogonTime -ne $null } else { $false }
ArchiveMailboxSizeInMB = if ($archiveStats -ne $null) {
[math]::Round(($archiveStats.TotalItemSize.ToString().Split('(')[1].Split(' ')[0].Replace(',', '') / 1MB), 2)
} else {
0
}
ArchiveWarningQuota = $mbx.ArchiveWarningQuota
ArchiveQuota = $mbx.ArchiveQuota
AutoExpandingArchiveEnabled = $mbx.AutoExpandingArchiveEnabled
})
}
$Result | Export-CSV “C:\Mailbox-Status-Report_edited.csv” -NoTypeInformation
https://icloud360.in/wp-content/uploads/file-manager/Mailbox-Status-Report.ps1