Der folgende Beitrag wurde aufgrund eines kürzlich erfolgten Kundenengagements aus dem Entwurfsbereich verschoben. Exchange-Administratoren haben sich sehr an die UI-Tools zur Nachrichtenverfolgung gewöhnt, die mit den vorherigen Exchange-Builds ausgeliefert wurden. Das ist völlig verständlich, da sie zahlreiche Probleme untersuchen und lösen müssen. Vielleicht stellt sich die Frage, ob Steve in der Buchhaltung diese E-Mail letzte Woche erhalten hat oder warum die Nachrichten von Anne im Vertrieb in einer Warteschlange stecken geblieben sind?
In den letzten 10 Jahren war das Exchange Message Tracking Tool für viele Administratoren die Waffe der Wahl bei der Behebung solcher Probleme. In Exchange 2013 oder 2016 gibt es dieses Tool jedoch nicht. Stattdessen können wir Delivery Reports oder PowerShell verwenden, um die Nachrichtenverfolgungsprotokolle abzufragen.
Scrollen Sie nach unten, um einen Profi-Tipp zum Hinzufügen einer GUI zur Nachrichtenverfolgung zu erhalten.
In der einfachsten Form können wir Get-MessageTrackingLog verwenden, um alle Treffer vom angegebenen Server zu suchen und zurückzugeben. In jeder großen Organisation ist das Durchblättern der Ausgabe eine Zeitverschwendung und nicht effizient. Wir müssen eine Filterlogik anwenden.
Suche nach Absender
Get-MessageTrackingLog -Sender [email protected]
Suche nach Empfänger
Get-MessageTrackingLog -Recipient [email protected]
Suche nach Empfängerdomäne
Beachten Sie, dass es auch möglich ist, einen Platzhalter in der Suche zu verwenden, um eine ganze Domäne einzuschließen:
Get-MessageTrackingLog -Recipients *@hotmail.co
Alternativ könnte man auch eine where-Anweisung wie die folgende verwenden, obwohl dies in der Regel langsamer ist
Get-MessageTrackingLog | Where {$_.Recipients -like "*tailspintoys.com"}
Suche nach Betreff
Get-MessageTrackingLog -MessageSubject "I Am Zorg"
Suche nach MessageID
Get-MessageTrackingLog -MessageId <MessageID>
Suche nach Zeitfenster
Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "mailto:[email protected]"
Suche Nach Message EventID
Get-MessageTrackingLog -ResultSize Unlimited -EventId "Fail"
Multiple Beispiel – Zeitfenster & EventID & Sender
Die verschiedenen Elemente können kombiniert werden, um unerwünschte Ergebnisse herauszufiltern.
Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "[email protected]"
Alle Nachrichten der letzten Stunde abrufen
Beachten Sie, dass AddHours mit einem negativen Wert verwendet wird, um das Suchfenster um eine Stunde nach hinten zu verschieben.
Get-MessageTrackingLog -Sender [email protected] -Server (Get-Date).AddHours(-1)
Export nach CSV
Wenn Sie ein Excel-Kenner sind, können Sie die Suchergebnisse in eine CSV-Datei exportieren, um sie anschließend in Excel zu analysieren.
Get-MessageTrackingLog | Export-CSV –path C:\temp\tracking.csv –NoTypeInformation
Get-MessageTrackingLog | select @{Name="RecipientsXX";Expression={$_.Recipients}}
Messung der Ausführungszeit
Measure-Command {Get-TransportServer | Get-MessageTrackingLog -MessageSubject "zorg" -ResultSize unlimited}
Such-GUI für Exchange 2013/2016
Wie bereits zu Beginn dieses Beitrags erwähnt, gibt es in Exchange 2013 und 2016 kein Message Tracking Log Explorer Tool mehr. Was wir tun können, ist, den gewünschten Suchbefehl mit einem der obigen Beispiele zu erstellen und dann die native PowerShell-Funktionalität zu verwenden, um die Ergebnisse in einer Benutzeroberfläche anzuzeigen.
Dies ist die Out-GridView, die in PowerShell seit vielen, vielen, vielen Jahren vorhanden ist.
Als einfaches Beispiel:
Get-MessageTrackingLog | Out-GridView