Ce script à exécuter dans l'Exchange Management Shell qui prend pour paramètre un nombre de jours calcule grâce au tracking logs le nombre de mails qui ont été envoyés hors du domaine spécifié et reçus par un expéditeur hors du domaine, afin de pouvoir calculer une taille totale et une moyenne.
param([Parameter(Mandatory=$true)][int] $Days) $today = (Get-Date) $TrxS = Get-MessageTrackingLog -EventID "SEND" -Start $today.AddDays(-$Days) -End $today -ResultSize 5000 $TrxD = Get-MessageTrackingLog -EventID "DELIVER" -Start $today.AddDays(-$Days) -End $today -ResultSize 5000 $FltS = $TrxS | Where-Object { $_.Recipients -notmatch "@dundermifflin.inc"} $FltD = $TrxD | Where-Object { $_.Sender -notmatch "@dundermifflin.inc" } $FltS | foreach { $SendSize += $_.TotalBytes } $FltD | foreach { $DelSize += $_.TotalBytes } 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))