Exchange et Powershell : volumétrie des mails

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))
Lien pour marque-pages : Permaliens.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.