Exchange Connection Problems

How to Fix Get-MessageTrace Missing Exchange Online Messages

Huma Ashraf ChHuma Ashraf Ch Oct 9, 2026 868 views

Question details

Users experience inconsistent results when running hourly Get-MessageTrace queries, with some messages delivered to remote servers being intermittently omitted.

Fixing Get-MessageTrace Missing Exchange Online Messages
Product
Exchange Online
Device & OS
not provided
Scenario
Tracking email delivery to remote mail servers using the PowerShell Get-MessageTrace cmdlet.
Observed behavior
Get-MessageTrace queries randomly drop a small number of messages. Re-running the query or performing a historical scan yields inconsistent tracking data.
Before you start

Ensure you have the appropriate Exchange Administrator roles assigned to run message trace queries and verify your network connection to Exchange Online is stable before troubleshooting.

Solution 1Recommended

Troubleshoot and Verify Exchange Message Trace Logs

Compare trace results against the Exchange admin center and investigate underlying configurations affecting message logging.

Sometimes message trace logs experience delayed ingestion, resulting in missing data for recent queries. Third-party applications and complex transport rules can also interfere with standard logging mechanisms.

1
Compare Trace Data

Cross-reference your PowerShell Get-MessageTrace output with the visual message trace tool in the Exchange Admin Center (EAC) to see if the missing messages appear there.

2
Check Filters and Rules

Review your query filters and Exchange transport rules to ensure they aren't inadvertently bypassing standard tracking or routing emails outside of typical mail flow.

3
Review Event Logs

Check the Exchange event logs and Get-MessageTrackingLog for any warnings related to mail flow or transport service disruptions.

4
Evaluate Third-Party Systems

Determine if third-party mail filtering or routing applications are intercepting messages before Exchange can fully log the delivery events.

Troubleshoot and Verify Exchange Message Trace Logs
Data Ingestion Delay: Message trace data in Microsoft 365 can sometimes take time to fully populate, especially for complex remote deliveries or during high server load.
Free Microsoft Office alternative

Manage Your Reports and Documents with WPS Office

While troubleshooting Exchange Online issues, ensure your daily productivity remains uninterrupted. WPS Office is a highly compatible, lightweight, and free alternative to Microsoft Office, perfect for managing your IT reports, tracking data, and spreadsheets.

  1. 1. Download the Installer: Visit the official WPS Office website and download the free software suite.
  2. 2. Install the Software: Run the lightweight installer and follow the quick on-screen instructions to set up.
  3. 3. Start Working: Open WPS Office to instantly view and edit your existing Microsoft Office files.
Fully compatible with Microsoft Word, Excel, and PowerPoint formats.Lightweight software that runs smoothly and quickly on any system.Built-in PDF editing tools for streamlined document management.Familiar user interface for a seamless transition without a learning curve.
microsoft office alternative - wps office

Frequently Asked Questions

Why does Get-MessageTrace show inconsistent results for recent emails?

Exchange Online message tracing relies on distributed logs across multiple servers. Heavy network loads can cause temporary delays in data aggregation, meaning some recent emails might not immediately appear in your query results.

Can transport rules prevent an email from appearing in Get-MessageTrace?

Yes. If a transport rule reroutes an email through a third-party service or drops it silently without generating a standard delivery event, the message might be omitted from standard trace logs.

How far back can I run a standard Get-MessageTrace query in PowerShell?

Standard Get-MessageTrace queries can retrieve data for the past 10 days. For tracking older messages (up to 90 days), you must run a historical message trace using the Start-HistoricalSearch cmdlet.