andi@abow: ~/microsoft/ $ cat microsoft-exchange-message-tracking-in-onprem-und-exchange-online.md
>_abow

how do you do IT

Alle möglichen Handkniffe, die ich mir so zusammentrage im Berufsalltag

← cd ~/

Microsoft Exchange // Message Tracking in OnPrem und Exchange Online

Microsoft Exchange // Message Tracking in OnPrem und Exchange Online

In diesem Beitrag zeige ich anhand einer Testmail mit dem Betreff „Neuer Server“ den Mailfluss und die Protokollierung via PowerShell – sowohl für Exchange OnPrem als auch Exchange Online.

Der Nachrichtenfluss dieser Testmail läuft wie folgt:

📩 Extern → Hornetsecurity → Exchange OnPrem → Exchange Online

Das bedeutet: Die Nachricht lässt sich in beiden Umgebungen nachvollziehen. Dieser Artikel behandelt exemplarisch das Message Tracking einer E-Mail vom Absender abow@domain.tld mit Startdatum 21.01.2026.


🔍 Teil 1: Exchange OnPrem

💻 Befehl:

Get-MessageTrackingLog -Sender "abow@domain.tld" -Start "01/21/2026" | Select * | Out-GridView

🧠 Erklärung:

ParameterBedeutung
Get-MessageTrackingLogStartet die Suche im lokalen Exchange-Tracking-Log
-SenderFiltert nach dem Absender
-StartStartdatum im Format MM/DD/YYYY (optional mit Uhrzeit)
`Select *`
`Out-GridView`

🧩 Nützliche Felder:

  • EventId: z. B. RECEIVE, SEND, DELIVER, SENDEXTERNAL, AGENTINFO
  • MessageSubject: Titel der E-Mail
  • Source: Ursprung des Events, z. B. STOREDRIVER, SMTP, PUBLICFOLDER
  • Recipients: Liste der Empfänger

📖 Weitere Infos: Microsoft-Dokumentation zum Cmdlet


☁️ Teil 2: Exchange Online (Microsoft 365)

Seit etwa 2020 ist das klassische MessageTrackingLog in Exchange Online nicht mehr verfügbar. Stattdessen gibt es:

  • Get-MessageTrace – Überblick über Nachrichtentransport
  • Get-MessageTraceDetail – Detailinformationen

📦 Beispiel 1: Get-MessageTrace

Get-MessageTrace `
  -SenderAddress "abow@domain.tld" `
  -StartDate "01/21/2026" `
  -EndDate "01/22/2026" |
  Select *

Wichtig: Das Enddatum muss einen Tag später gesetzt werden, da Exchange Online tagesweise auswertet.

📖 Doku: Get-MessageTrace (Microsoft)


🔬 Beispiel 2: Get-MessageTraceDetail

Variante A: Per Pipeline direkt aus dem vorherigen Befehl:

Get-MessageTrace `
  -SenderAddress "abow@domain.tld" `
  -StartDate "01/21/2026" `
  -EndDate "01/22/2026" |
Get-MessageTraceDetail |
Select *

Variante B: Manuell mit MessageTraceId und Empfängeradresse:

Get-MessageTraceDetail `
  -MessageTraceId "GUID" `
  -RecipientAddress "abow@domain.tld"

⚠️ Hinweis

Ein Nachteil von Get-MessageTraceDetail: Die Umwandlung zwischen onmicrosoft-Adresse und primärer SMTP-Adresse wird nicht sauber dargestellt – Probleme bei der Adressauflösung bleiben also u. U. unentdeckt.

📖 Doku: Get-MessageTraceDetail (Microsoft)


✅ Fazit

  • Exchange OnPrem bietet detailliertes, lokales Tracking per Get-MessageTrackingLog
  • Exchange Online nutzt Get-MessageTrace und Get-MessageTraceDetail – weniger granular, aber ausreichend für Standardanalysen
  • Für Hybrid-Umgebungen (z. B. mit Hornetsecurity oder zentralem Mailflow) muss beide Seiten geprüft werden
  • Nutze GUI-Ausgaben (Out-GridView), wenn du schnell manuell analysieren willst
Weiterlesen

$ Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert