Commands › Exchange Online
Search-MessageTrackingReport
This cmdlet is functional only in on-premises Exchange. Use the Search-MessageTrackingReport cmdlet to find the unique message tracking report based on the search criteria provided. You can then pass this message tracking report ID to the Get-MessageTrackingReport cmdlet to get full message tracking information. For more information, see Get-MessageTrackingReport. The message tracking report cmdlets are used by the delivery reports feature. In Exchange Online, delivery reports are replaced by message trace (the Get-MessageTraceV2 and Get-MessageTraceDetailV2 cmdlets).
Quick start script
# Search-MessageTrackingReport — quick start (serv365.ai)
# 1. Connect (app-only shown; interactive: omit the certificate parameters)
Connect-ExchangeOnline -CertificateThumbprint $thumb -AppId $appId -Organization $org
# 2. Run and inspect
Search-MessageTrackingReport -Identity <MailboxIdParameter> -Sender <SmtpAddress> | Format-List
# 3. Export for evidence / drift tracking
Search-MessageTrackingReport | Export-Clixml .\MessageTrackingReport-$(Get-Date -Format yyyyMMdd).xml
Syntax — 2 parameter sets
SearchAsSender
Search-MessageTrackingReport [-Identity] <MailboxIdParameter> -Sender <SmtpAddress>
[-BypassDelegateChecking]
[-Confirm]
[-DomainController <Fqdn>]
[-DoNotResolve]
[-MessageEntryId <String>]
[-MessageId <String>]
[-ResultSize <Unlimited>]
[-Subject <String>]
[-TraceLevel <TraceLevel>]
[-WhatIf]
[<CommonParameters>]
SearchAsRecipient
Search-MessageTrackingReport [-Identity] <MailboxIdParameter>
[-Recipients <SmtpAddress[]>]
[-BypassDelegateChecking]
[-Confirm]
[-DomainController <Fqdn>]
[-DoNotResolve]
[-MessageEntryId <String>]
[-MessageId <String>]
[-ResultSize <Unlimited>]
[-Subject <String>]
[-TraceLevel <TraceLevel>]
[-WhatIf]
[<CommonParameters>]
Parameters (13)
Reference facts derived from Microsoft documentation, © Microsoft, licensed CC BY 4.0; restructured with original guidance by serv365.ai.