Exchange Server: Durchsuchen von Nachrichtenverfolgungsprotokollen

Die Nachrichtenverfolgung zeichnet die Nachrichtenaktivität als E-Mail-Fluss über die Transportpipeline auf Postfachservern und Edge-Transporservern auf. Über das Cmdlet Get-MessageTrackingLog in der Exchange-Verwaltungsshell können Sie anhand bestimmter Suchkriterien nach Einträgen im Nachrichtenverfolgungsprotokoll suchen. Beispiel:

  • Ermitteln Sie, was mit einer Nachricht passiert ist, die von einem Benutzer an einen bestimmten Empfänger gesendet wurde.

  • Finden Sie heraus, ob eine E-Mail-Flussregel (auch als Transportregel bezeichnet) auf eine Nachricht reagiert hat.

  • Ermitteln Sie, ob eine Nachricht, die von einem Absender im Internet gesendet wurde, an Ihre Exchange-Organisation zugestellt wurde.

  • Suchen Sie alle Nachrichten, die von einem bestimmten Benutzer in einem bestimmten Zeitraum gesendet wurden.

Was sollten Sie wissen, bevor Sie beginnen?

  • Geschätzte Zeit bis zum Abschließen des Vorgangs: 10 Minuten

  • Bevor Sie diese Verfahren ausführen können, müssen Ihnen die entsprechenden Berechtigungen zugewiesen werden. Informationen zu den von Ihnen benötigten Berechtigungen finden Sie unter "Nachrichtenverfolgung" im Thema Berechtigungen für den Nachrichtenfluss.

  • Zum Durchsuchen der Nachrichtenverfolgungsprotokolle muss der Microsoft Exchange-Transportprotokoll-Suchdienst ausgeführt werden. Wenn Sie diesen Dienst deaktivieren oder anhalten, können die Protokolldateien der Nachrichtenverfolgung nicht durchsucht und keine Zustellungsberichte erstellt werden. Das Anhalten dieses Diensts hat jedoch keine Auswirkungen auf andere Funktionen in Exchange..

  • Die in den Ergebnissen des Cmdlets Get-MessageTrackingLog angezeigten Feldnamen ähneln den tatsächlichen Feldnamen, die in den Nachrichtenverfolgungsprotokollen verwendet werden. Die größten Unterschiede:

    • Die Striche werden aus den Feldnamen entfernt. Beispielsweise wird internal-message-id als InternalMessageIdangezeigt.

    • Das Datum/Uhrzeit-Feld wird als Timestampangezeigt.

    • Das Empfängeradressenfeld wird als Recipientsangezeigt.

    • Das Feld sender-address wird als Senderangezeigt.

  • Das date-time -Feld im Nachrichtenverfolgungsprotokoll speichert Informationen im UTC-Format (Coordinated Universal Time). Sie müssen jedoch Ihre Datums-/Uhrzeit-Suchkriterien für die Parameter Start oder Ende im regionalen Datums-/Uhrzeitformat des Computers eingeben, den Sie für die Suche verwenden.

  • Sie können nicht die Nachrichtenverfolgungsprotokoll-Dateien von einem anderen Exchange-Server kopieren und diese anschließend mit dem Cmdlet Get-MessageTrackingLog durchsuchen. Wenn Sie außerdem eine vorhandene Nachrichtenverfolgungsprotokoll-Datei manuell speichern, unterbricht die Änderung am Datum-/Uhrzeitstempel die Abfragelogik, die Exchange zum Durchsuchen der Nachrichtenverfolgungsprotokolle nutzt.

  • In Exchange 2016 kann das Cmdlet Get-MessageTrackingLog die Nachrichtenverfolgungsprotokolle auf Exchange 2013-Postfachservern und Exchange 2010-Hub-Transport-Servern am gleichen Active Directory-Standort durchsuchen. In Exchange 2019 kann das Cmdlet Get-MessageTrackingLog die Nachrichtenverfolgungsprotokolle auf Exchange 2016- und Exchange 2013-Postfachservern am gleichen Active Directory-Standort durchsuchen.

  • Informationen zu Tastenkombinationen für die Verfahren in diesem Thema finden Sie unter Tastenkombinationen in der Exchange-Verwaltungskonsole.

Tipp

Liegt ein Problem vor? Bitten Sie in den Exchange-Foren um Hilfe. Sie finden die Foren unter folgenden Links: Exchange Server, Exchange Online oder Exchange Online Protection.

Durchsuchen der Nachrichtenverfolgungsprotokolle mithilfe der Exchange-Verwaltungsshell-Verwaltungskonsole

Wählen Sie zum Durchsuchen der Einträge in den Nachrichtenverfolgungsprotokollen auf bestimmte Ereignisse die folgende Syntax.

Get-MessageTrackingLog [-Server <ServerIdentity>] [-ResultSize <Integer> | Unlimited] [-Start <DateTime>] [-End <DateTime>] [-EventId <EventId>] [-InternalMessageId <InternalMessageId>] [-MessageId <MessageId>] [-MessageSubject <Subject>] [-Recipients <RecipientAddress1,RecipientAddress2...>] [-Reference <Reference>] [-Sender <SenderAddress>]

Führen Sie den folgenden Befehl aus, um die 1000 neuesten Nachrichtenverfolgungsprotokoll-Einträge auf dem Server anzuzeigen:

Get-MessageTrackingLog

In diesem Beispiel werden die Nachrichtenverfolgungsprotokolle auf dem lokalen Server nach allen Einträgen vom 28.03.2015 8:00 Uhr bis zum 28.03.2015 17:00 Uhr für alle FAIL-Ereignisse durchsucht, bei denen der Nachrichtensender war pat@contoso.com.

Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "pat@contoso.com"

Verwenden Sie die folgende Syntax.

Get-MessageTrackingLog <SearchFilters> | <Format-Table | Format-List> [<FieldNames>] [<OutputFileOptions>]

In diesem Beispiel werden die Nachrichtenverfolgungsprotokolle mithilfe der folgenden Suchkriterien durchsucht:

  • Ergebnisse für die ersten 1000 Send -Ereignisse zurückgeben.

  • Die Ergebnisse im Listenformat anzeigen.

  • Zeigt nur die Feldnamen an, die mit Send oder Recipientbeginnen.

  • Schreiben der Ausgabe in eine neue Datei mit dem Namen D:\Send Search.txt

Get-MessageTrackingLog -EventId Send | Format-List Send*,Recipient* | Set-Content -Path "D:\Send Search.txt"

Verwenden der Exchange-Verwaltungsshell zum Durchsuchen der Nachrichtenverfolgungsprotokolle nach Nachrichteneinträgen auf mehreren Servern

In der Regel bleibt der Wert im Kopfzeilenfeld MessageID: unverändert, während die Nachricht die Exchange-Organisation durchläuft. Diese Eigenschaft heißt InternetMessageId in Hilfsprogrammen zum Anzeigen von Warteschlagen und MessageId in Hilfsprogrammen zum Anzeigen von Nachrichtenverfolgungsprotokollen. Nachdem Sie den MessageID: -Wert einer bestimmten Nachricht ermittelt haben, können Sie Informationen zu dieser Nachricht in den Nachrichtenverfolgungsprotokollen auf allen Postfachservern in Ihrer Exchange-Produkt suchen.

Wählen Sie zum Durchsuchen aller Einträge in den Nachrichtenverfolgungsprotokollen nach einer bestimmten Nachricht auf allen Postfachservern und Exchange 2010 -Hub-Transportservern die folgende Syntax.

$Servers = Get-ExchangeServer;  $Servers | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId <MessageID>  | Select-Object <CommaSeparatedFieldNames>  | Sort-Object -Property <FieldName>

In diesem Beispiel werden die Nachrichtenverfolgungsprotokolle auf allen Postfachservern und Exchange 2010-Hub-Transportservern mithilfe der folgenden Suchkriterien durchsucht:

  • Suchen Sie alle Einträge im Zusammenhang mit einer Nachricht, die den Wert MessageID hat.<ba18339e-8151-4ff3-aeea-87ccf5fc9796@mailbox01.contoso.com> Beachten Sie, dass Sie die spitzen Klammern (<>) weglassen können. Ist dies nicht der Fall, müssen Sie den gesamten MessageID: -Wert in Anführungszeichen einschließen.

  • Für jeden Eintrag die Felder date-time, server-hostname, client-hostname, source, event-id und recipient-address anzeigen.

  • Die Ergebnisse nach dem date-time -Feld sortieren.

$Servers = Get-ExchangeServer; $Servers | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId ba18339e-8151-4ff3-aeea-87ccf5fc9796@mailbox01.contoso.com | Select-Object Timestamp,ServerHostname,ClientHostname,Source,EventId,Recipients | Sort-Object -Property Timestamp

Durchsuchen der Nachrichtenverfolgungsprotokolle mithilfe der Exchange-Verwaltungskonsole

Sie können über die Funktion „Zustellungsberichte für Administratoren" in der Exchange-Verwaltungskonsole die Nachrichtenverfolgungsprotokolle nach Informationen zu Nachrichten durchsuchen, die von einem bestimmten Postfach in Ihrer Organisation gesendet oder empfangen wurden. Weitere Informationen finden Sie unter Nachverfolgen von Nachrichten mit Zustellungsberichten.