i am trying to write a script to export all 365 mailbox statistics for monitoring. However,, it is failing when we query all mailboxes. if i set result size to 10 or 200, the scriprt is running perfectly.
if i use -resultsize unlimited, then it run for sometime and showing a msg that PS is conneting for new session , etc....
Could someone please help me?
$report = @()
$Mbxs = get-mailbox -resultsize unlimited -RecipientTypeDetails userMailbox,sharedmailbox
foreach ($Mbx in $Mbxs)
{
$TotalItemSize = (Get-MailboxStatistics $Mbx.UserPrincipalName).TotalItemSize
$ItemCount = (Get-MailboxStatistics $Mbx.UserPrincipalName).ItemCount
$TotalDeletedItemSize = (Get-MailboxStatistics $Mbx.UserPrincipalName).TotalDeletedItemSize
$ArchiveTotalItemSize = (Get-MailboxStatistics $Mbx.UserPrincipalName -Archive -WarningAction SilentlyContinue).TotalItemSize
$ArchiveItemCount = (Get-MailboxStatistics $Mbx.UserPrincipalName -Archive -WarningAction SilentlyContinue).ItemCount
$ArchiveTotalDeletedItemSize = (Get-MailboxStatistics $Mbx.UserPrincipalName -Archive -WarningAction SilentlyContinue).TotalDeletedItemSize
#$email= Get-Mailbox $mbx | select @{Name='EmailAddresses'; Expression={$\_.EmailAddresses -join ","}}
$reportObj = New-Object PSObject
$reportObj | Add-Member NoteProperty -Name "DisplayName" -Value $mbx.DisplayName
$reportObj | Add-Member NoteProperty -Name "RecipientTypeDetails" -Value $mbx.RecipientTypeDetails
$reportObj | Add-Member NoteProperty -Name "PrimarySmtpAddress" -Value $mbx.PrimarySmtpAddress
$reportObj | Add-Member NoteProperty -Name "EmailAddresses" -Value $mbx.EmailAddresses
$reportObj | Add-Member NoteProperty -Name "RetentionPolicy" -Value $mbx.RetentionPolicy
$reportObj | Add-Member NoteProperty -Name "ArchiveName" -Value $mbx.ArchiveName
$reportObj | Add-Member NoteProperty -Name "AutoExpandingArchiveEnabled" -Value $mbx.AutoExpandingArchiveEnabled
$reportObj | Add-Member NoteProperty -Name "TotalItemSize" -Value $TotalItemSize
$reportObj | Add-Member NoteProperty -Name "ItemCount" -Value $ItemCount
$reportObj | Add-Member NoteProperty -Name "TotalDeletedItemSize" -Value $TotalDeletedItemSize
$reportObj | Add-Member NoteProperty -Name "ArchiveTotalItemSize" -Value $ArchiveTotalItemSize
$reportObj | Add-Member NoteProperty -Name "ArchiveItemCount" -Value $ArchiveItemCount
$reportObj | Add-Member NoteProperty -Name "ArchiveTotalDeletedItemSize" -Value $ArchiveTotalDeletedItemSize
$report += $reportObj
}
$report|Export-Csv