Durchsuchen von Nachrichtenverfolgungsprotokollen

Gilt für: Exchange Server 2013

In Microsoft Exchange Server 2013 ist das Nachrichtenverfolgungsprotokoll ein detaillierter Datensatz aller Nachrichtenaktivitäten, wenn Nachrichten an den und vom Transportdienst auf Postfachservern, Postfächern auf Postfachservern und Edge-Transport-Servern übertragen werden.

Über das Cmdlet Get-MessageTrackingLog in der Exchange-Verwaltungsshell können Sie anhand bestimmter Suchkriterien nach Einträgen im Nachrichtenverfolgungsprotokoll suchen.

Was sollten Sie wissen, bevor Sie beginnen?

  • Geschätzte Zeit bis zum Abschließen des Vorgangs: 30 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.

  • Für das Durchsuchen der Nachrichtenverfolgungsprotokolle muss das Microsoft Exchange-Suchdienst-Transportprotokoll 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 Feldnamen, die in den Ergebnissen des Cmdlets Get-MessageTrackingLog angezeigt werden, ä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 sollten jedoch Ihre Datums-/Uhrzeit-Suchkriterien für die Parameter Start oder End 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.

  • Das Exchange 2013-Cmdlet Get-MessageTrackingLog kann die Nachrichtenverfolgungsprotokolle auf Exchange 2007- und Exchange 2010-Servern am selben 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. Besuchen Sie die Foren auf Exchange Server.

Verwenden der Shell zum Durchsuchen der Nachrichtenverfolgungsprotokolle

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.2013 8:00 Uhr bis zum 28.03.2013 17:00 Uhr für alle FAIL-Ereignisse durchsucht, bei denen der Nachrichtensender war pat@contoso.com.

Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2013 8:00AM" -End "3/28/2013 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* > "D:\Send Search.txt"

Verwenden der Shell 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 in den Nachrichtenverfolgungsprotokollen auf jedem Postfachserver in Ihrer Exchange-Organisation nach Informationen zu dieser Nachricht suchen.

Verwenden Sie die folgende Syntax, um alle Protokolleinträge der Nachrichtennachverfolgung nach einer bestimmten Nachricht auf allen Postfachservern zu durchsuchen.

Get-ExchangeServer | 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 Exchange 2013-Postfachservern 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.

Get-ExchangeServer | 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 Übermittlungsberichten.