目标: 定期统计每个月的邮件收发量。

Add-PSSnapin microsoft.exchange*

$Server="MBX1.liuxing.com","MBX2.liuxing.com","MBX03.liuxing.com","MBX4.liuxing.com","MBX5.liuxing.com"

$today=get-date
$m=$today.AddDays(-1)
$MonthNo=-join ($m.Year,$m.Month)
$s=($m.Month,"01",$m.Year) -join "/"
if($m.Month -eq 2) {
  $e=($m.Month,"28",$m.Year) -join "/"
}
elseif($m.Month -eq 4 -or $m.Month -eq 6 -or $m.Month -eq 9 -or $m.Month -eq 11){
  $e=($m.Month,"30",$m.Year) -join "/"
}
else{
  $e=($m.Month,"31",$m.Year) -join "/"
}

$st="$s 00:00:00"
$et="$e 23:59:59"
$file="Reports-$MonthNo.csv"

$SCount=$RCount=$DSNCount=0

foreach($i in $Server)
{
  $temp=Get-MessageTrackingLog -Server $i -Start "$st" -End "$et" -ResultSize unlimited 

  foreach($j in $temp){
        if($j.EventId -eq "RECEIVE" -and $j.Source -eq "STOREDRIVER"){

           $SCount++
        }
        if($j.EventId -eq "DELIVER"){

           $RCount++
        }
        if($j.EventId -eq "DSN"){

           $DSNCount++
        }
   }

  write-output  "$i send email count: $SCount"  | Out-File -Append C:\reports\$file
  write-output  "$i receive email count: $RCount" | Out-File -Append C:\reports\$file
  write-output  "$i dsn email count: $DSNCount" | Out-File -Append C:\reports\$file
 }