Create delivery reports from Message Tracking Log in Exchange 2010

By default, Exchange 2010 keeps 30 days of Message Tracking logs.  These logs are typically used for troubleshooting delivery problems, but you can generate delivery reports from them as well.  The following Powershell command returned all emails sent to the undergraduate population for as far back as we had data (no -Start or -End qualifiers were specified).

Get-ExchangeServer | where {$_.IsHubTransportServer -eq “true”} | Get-MessageTrackingLog -EventId “RECEIVE” | select TimeStamp,Sender,{$_.recipients},MessageSubject | Export-Csv C:\undergraduatestudents.csv

The “{$_.recipients},” in the above command is optional since we’re already searching for all messages sent to  It does tell you who else received a given message, however