Exchange 2013 Message Tracking – The easy way, with a PowerShell Form

Message Tracking in Exchange 2013 changed significantly. In previous versions there was a simple gui driven process to do quick, basic “track & trace” message reporting.

In Exchange 2013, there’s multiple ways to do this common task. Firstly using the Get-MessageTracking PowerShell commandlet, and also by using the Delivery Reports functionality baked into the EAC. In my opinion, neither of these are particular efficient for quick tracking tasks, particularly for staff who are not particularly savvy/comfortable with using PowerShell.

For this reason, I wrote a small PowerShell script to wrap the Get-MessageTrackingLog operation into a friendly, easy to use GUI, with the output straight into a convenient Out-gridview pivot that can be nicely filtered. Upon executing the script,  the following form is presented;

7-05-2015 9-59-01 PM

There are 2 variables that need to be set;

111

 

 

 

$msxserver is the name of your CAS server & $suffix is the smtp domain of the user.

Details returned can be customised, but I have included: TimeStamp, Sender, Recipients, MessageSubject, EventID, ClientIP, ClientHostname 

In the first field, enter the username (this will automatically be concatenated to the $suffix variable)

Enter the FROM and TO dates (START and FINISH). Checking either the Sender or Recipient checkboxes determines if the tracking log is based on the username being the Recipient or Sender in the search context.

7-05-2015 9-43-32 PM

The output; Clear, concise and easily manipulated.

7-05-2015 9-50-44 PM

…and here’s the script in it’s entirety;

Hope it’s useful to someone 🙂

 

 

 

15 thoughts on “Exchange 2013 Message Tracking – The easy way, with a PowerShell Form

  1. Thanks for the script, I used it today,but I didn’t find an option to provide “Time” in-fact the very first screen shot in your blog didn’t even appeared when I ran the script.

    1. You include the time in the FROM/TO dialog, in one string. If you don’t enter it in the FROM field it starts from 12:00:01am and in the TO field 11:59:50, IIRC.
      Did you get an error when you ran it ? I assume you ran it from the Exchange Management Shell or loaded the pssnapin into the reg Powershell session ?

  2. Thanks for the script, I used it today,but I didn’t find an option to provide “Time” in-fact the very first screen shot in your blog didn’t even appeared when I ran the script.

    1. You include the time in the FROM/TO dialog, in one string. If you don’t enter it in the FROM field it starts from 12:00:01am and in the TO field 11:59:50, IIRC.
      Did you get an error when you ran it ? I assume you ran it from the Exchange Management Shell or loaded the pssnapin into the reg Powershell session ?

  3. any chance you can double check your code? i’m not super shell savvy but i followed your instructions and ran it on exchange powershell and i get the pop up for the variables but i don’t ever get an out put. Please help.

    1. Hi Clark, if you email me the shot of the popup you’re getting I’ll see what’s up with it and sort for you.
      –Brett

  4. any chance you can double check your code? i’m not super shell savvy but i followed your instructions and ran it on exchange powershell and i get the pop up for the variables but i don’t ever get an out put. Please help.

    1. Hi Clark, if you email me the shot of the popup you’re getting I’ll see what’s up with it and sort for you.
      –Brett

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: