Exchange 2013 has removed a number of user interfaces that existed in Exchange 2010, one of them being the Message Tracking toolbox utility:

In Exchange 2013 you can search for an individual messages in the Exchange Control Panel (https://servername/ecp) by selecting mail flow > delivery reports. But this tool requires you to specify the source mailbox and limits the answers somewhat, especially if your administrators mailbox is still on Exchange 2010 and you used https://servername/ecp/?exchclientver=15 to access Exchange 2013 ECP:

If you want to search across lots of mailboxes then your options are limited to Exchange Management Shell and using PowerShell. And with the considerably increase in internal monitoring emails that get sent around inside Exchange 2013, the logs are busy with all the Delivery Probe emails:

Get-MessageTrackingLog -Start “Nov 2 2012”

So to the rescue comes a PowerShell 2.0 feature called Out-GridView. To run a message tracking log in a user interface start in Exchange Management Shell with a simple Get-MessageTrackingLog cmdlet and output the results to Out-GridView

Now that you have the results in a grid you can add filtering, for example the below shows the tracking logs on my server once I filter out all the “probe” emails that are used by the Managed Availability feature to ensure that the server is operating correctly:

So although you need a bit of a command to start with, Get-MessageTrackingLog -ResultSize Unlimited -Start “Nov 2 2012” | Out-GridView, and need to include –ResultSize Unlimited to ensure you have all the results before you start filtering, this is a way to reduce some of the time to do tracking logs as the filtering and scrolling/resizing and ordering steps are managed for you which you do not get in the shell.

And of course, there are loads of things you can use Out-GridView for in Exchange 2013. Some of these include Get-Mailbox, Get-MailboxDatabase, Get-whatever you like that returns multiple rows of data.

Just as an FYI, this will not list the message ID’s in the results by default. To output them with message ID’s (which can be extremely helpful when trying to troubleshoot the life of an email), use something like this command: get-messagetrackinglog | select-object eventid,timestamp,messageid,sender,recipient,messagesubject | out-gridview

Thanks alot! Very helpful.
I think Microsoft deserves a congressional hearing on this. Although the GridView does make life easier, it does not compare at all to the simple and useful Message Tracking in 2010 and 2007. In many more respects I think that 2010 is more down-to-earth, rather than cool-looking interfaces.

@Jose, I agree that this tool was very useful. However making some time to learn powershell will make your life a lot easier.. you can easily automate all repetitive jobs you are now still performing manually. creating you more time to learn the more in-depth stuff of PS.

@Jose: I agree that Poweshell is brilliant for automate repeating stuff. The point here being -italic, bold underlined and red- the words “automation” and “repeating”.

I can’t expect a 1st line Service Desk colleague to grasp the might and beauty of a Walhalla programming/query automation language when all they want is a perfectly simple interface to get something they need with information of which the parameters are quite random, poorly qualified (ever seen a customer tell you exactly the e-mail date and exactly the source address), one time only and preferably NOW (since that damn e-mail is missing).

Loosing this functionality is havoc for every Exchange Support team that need to dive into the how and why an email did not get somewhere it should have. And no, the Message tracking in the Exchange Management Console does not provide means of properly troubleshooting message flow issues.

So I concur with Ben and Jose on this matter. Someone did a very poor job taking something that is very simple to use out of the hands of its product support teams.