How to – Message Tracking über wildcards

Das Exchange cmdLet Get-MessageTrackingLog bietet leider per default nicht die Option nach wildcards zu suchen. Das läßt sich aber trotzdem realisieren.
Zunächst holen Sie sich die Exchange Server, die die Hub Rolle ausführen:

get-exchangeserver |? {$_.Serverrole -match “hub”}

Auf diesen Maschinen können Sie dann das Message Tracking durchsuchen:

Get-MessageTrackingLog -sender “user@domain.com”

Wenn Sie beispielsweise alle Mails sehen möchten, die aus Ihrer Organisation am 14.07.2014 mit dem Absender user@domain.com erfolgreich gesendet wurden kombinieren sie dies entsprechend:

get-exchangeserver |? {$_.Serverrole -match “hub”} |Get-MessageTrackingLog -sender “user@domain.com” -eventid “send” -Start “14.07.2014 00:00:00” -End “14.07.2014 23:59:59”

Achten Sie darauf, dass evtl das Datumsformat geändert werden muss. Je nachdem in welcher Sprache Ihr Server installiert ist. Zum Beispiel das amerikanische Format: 07/14/2014.

Zu guter Letzt noch die Erweiterung, dass Sie nur alle Mails sehen, die an die domain domain.de gingen:

get-exchangeserver |? {$_.Serverrole -match “hub”} |Get-MessageTrackingLog -sender “user@domain.com” -eventid “send” -Start “14.07.2014 00:00:00” -End “14.07.2014 23:59:59” | Where-Object {$_.Recipients -like “*domain.de*”}

Viel Erfolg! 🙂