## blog.enguerrand.pro ## Script Exchange Management Shell permettant de récupérer la volumétrie de mails entrants/sortants du domaine sur un nombre de jours passés en paramètre param([Parameter(Mandatory=$true)][int] $Days) $today = (Get-Date) $TrxS = Get-MessageTrackingLog -EventID "SEND" -Start $today.AddDays(-$Days) -End $today -ResultSize 50000 ## récupération des mails envoyés $TrxD = Get-MessageTrackingLog -EventID "DELIVER" -Start $today.AddDays(-$Days) -End $today -ResultSize 50000 ## récupération des mails bien remis dans une BàL exchange $FltS = $TrxS | Where-Object { $_.Recipients -notmatch "@dundermifflin.inc"} ## filtre pour exclure les mails internes $FltD = $TrxD | Where-Object { $_.Sender -notmatch "@dundermifflin.inc" } ## filtre pour exclure les mails internes $FltS | foreach { $SendSize += $_.TotalBytes } ## parse des mails envoyés pour comptabiliser le volume $FltD | foreach { $DelSize += $_.TotalBytes } ## parse des mails reçus pour comptabiliser le volume ## affichages divers Write-Host "Total messages sent:"$FltS.Count Write-Host "Total sent bytes:"$SendSize" ("([math]::Round($SendSize/1024/1024,1))"MB )" Write-Host "Average sent message size (KB):"([math]::Round(($SendSize/$FltS.Count)/1024,1))`r`n Write-Host "Total messages received:"$FltD.Count Write-Host "Total received bytes:"$DelSize" ("([math]::Round($DelSize/1024/1024,1))"MB )" Write-Host "Average received message size (KB):"([math]::Round(($DelSize/$FltD.Count)/1024,1))