Mar 03

How to: Visualize the Message Tracking Log in Exchange Server 2013

How to: Visualize the Message Tracking Log in Exchange Server 2013

I’ve always been a big GUI person, but in the world of IT I am definitively going against the trend. Microsoft has been no exception to this trend, over the past few releases they have increasingly focused on correctly decoupling their GUI from their applications. You could see this trend for example on Exchange 2010 Management Console… all it did was build the PowerShell command it would run on your behalf. Well, it seems now Microsoft has taken this a step further and you are not even given a GUI for many operations. The beauty here is that PowerShell is very robust and you can do many things programmatically and automation is taken to a whole new level, the downside: People not dedicated to a particular solution/application/program have to dig out TechNet articles rather than just read the GUI. Now, getting back on topic…

The Message Tracking Log was rather easy to access on Exchange 2010 but on Exchange 2013 you are simply given a web interface that allows you to perform some basic queries, but you are limited to the kind of information you can obtain as the source or destination emails are restricted by the interface. At this point you are forced into using the 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. I recommend using the Start parameter so you don’t pull thousands of records since the beginning of time:

Get-MessageTrackingLog -Start “April 2 2013”

So… what are your options? Well, for starters you can use the Query parameter to perform some filtering, but still the amount of information you can see at the shell level and the presentation is not at least what I am looking for. On the bright side Microsoft via PowerShell v2.0 or higher offers a featured called Out-GridView that presents the information as the name implies, in a Grid View using your Windows GUI! Most people end up directing the output of their commands to text or csv files, but with this you can directly output it to a grid you can manipulate saving you some time and the need for an application to nicely present that information:

Get-MessageTrackingLog -Start “April 3 2013” | Out-GridView

Now using the GridView you can do all those fancy filtering and sorting things you always wanted to do, oh and scrolling! And remember, this is only the beginning of what you can accomplish, below is an example that uses a Selection query to increase the amount of information you obtain as well as the use of the -ResultSize parameter so you get more than 1k rows:

get-messagetrackinglog -Start “March 3 2013” -ResultSize Unlimited | select-object eventid,timestamp,messageid,sender,recipients,messagesubject | out-gridview


Enhanced by Zemanta


    • Kenny W on November 18, 2015 at 8:50 am
    • Reply

    thank you, thank you, thank you!

    The whole point of Windows is because it has a GUI.

    If i wanted to learn and type commands i would have invested in Powershell Server 2012 and not Windows Server 2012.

    Such a stupid idea removing the exchange gui features that existed in 2010. They worked so well and actually was one of the things MS did well. But not anymore! Morons.

    1. I like that you have CLI so you can automate certain tasks, but I agree that one of the big selling points of Microsoft vs Linux is that you have a GUI which is feature rich and allows even inexperienced users to accomplish the tasks at hand.

Leave a Reply

%d bloggers like this: