Updated Process Tracking Log (PTL) tool for use with Exchange 2007 and Exchange 2010
Published Oct 21 2011 08:47 AM 21.7K Views

 

Exchange Message Tracking Logs hold a wealth of information about email messages during transport. Utilities that can parse message tracking logs and analyze them for administrators have historically been important tools when troubleshooting certain mail flow problems.

With Exchange 2010, the message tracking log format has been modified to hold additional fields about messages. For those who enjoyed using "Process Tracking Log tool for Exchange Server 2007" in the past, you would be very pleased. We have come up with the new version which works with both Exchange 2007 and Exchange 2010. Same looks and great generated reports included!

When to use Process Tracking Log:

PTL may help in following situations:

  • Message Looping
  • Message failures, such as in Delivery Status Notifications (DSNs)
  • List of top mail senders
  • List of top mail recipients
  • Top large message size generators
  • Queues backing up
  • Performance issues due to message load
  • Simply monitoring server message load

To learn more about PTL tool and the reports it generates please review the original article, "Process Tracking Log tool for Exchange Server 2007". The article provides example outputs and how you can use these to further analyze your mail flow.

Where to download the new Process Tracking Log tool:

To install the latest PTL, please see post attachment  to download it.

Please note: this script is not officially supported by Microsoft. Please see the script for more details!

How to Use this tool:

The command set used to run the PTL script are still the same as the original tool.

Usage:

cscript ProcessTrackingLog.vbs <LogFilePath> <NumFiles> <hub|edge|all> [ <mm/dd/yyyy> | today | yesterday ]

Examples:

1) To parse one file:

cscript ProcessTrackingLog.vbs "C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking\MSGTRK20110401-1.LOG" 1 all

2) To parse one file in a single directory:

cscript \data\scripts\ProcessTrackingLog.vbs "C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking" 1 all

3) To parse all files in a single directory:

cscript \data\scripts\ProcessTrackingLog.vbs “C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking” 0 all

4) To parse all files in all subdirectories in a single directory:

cscript \data\scripts\ProcessTrackingLog.vbs "C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking" 0 all

5) To parse 3 files in each subdirectory:

cscript \data\scripts\ProcessTrackingLog.vbs "C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking" 3 all

6) To parse all files in each subdirectory that were logged yesterday:

cscript \data\scripts\ProcessTrackingLog.vbs "C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking" 0 all yesterday

7) To parse all files in each subdirectory that were logged on 6/5/2011:

cscript \data\scripts\ProcessTrackingLog.vbs "C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking" 0 all 6/5/2011

NOTE: use of hub and edge assume "HUB" or "GWY" in directory path, otherwise specify all. Also note that the message tracking log path location has changed between Exchange 2007 and 2010 since in Exchange 2010 the path has “V14” folder added.

All results are stored in “c:\temp\msgtrack\output” folder.

Some enhancements:

  • PTL now works with both Exchange 2007 and 2010 message tracking log. Note that the actual path for message tracking log differs between Exchange 2007 and 2010.
  • The tool will now automatically create the path folder “c:\temp\msgtrack\output” where the output results will be stored.
  • The summary file, “MTSummaryResults.txt”, will have the Exchange version as well as PTL version listed.

We will maintain this tool from time to time or provide enhancements. Please contact Nasser, Nadeem, or me if you have any questions.

Nasser Salemizadeh, Mohammad Nadeem, Shawn Zaravar, Todd Luttinen

12 Comments
Not applicable

Microsoft (R) Windows Script Host Version 5.8

Copyright (C) Microsoft Corporation. All rights reserved.

Logging directory c:tempMSGTRACKOutput does not exist

Please create the directory and re-run the script

Exiting Script

Not applicable

Looks nice, BUT WHY VB?????  Every Exchange 2007-2010 script but THIS ONE is written in PS.  

Not applicable

What about an example for a month or say the last three months?

Not applicable

why not on powershell? Back to VBS?

Not applicable

On the MTTopRecipientResults.csv some of our users are listed twice with same email but case sensitive email addresses?

For example:

tuser@domain.com

TUser@domain.com

Why would that happen?

thanks

Not applicable

@ Nivritti & Valery - The code was originally written in VB back in 2007 and it is a big effort to port to PS.  VBS written in 2007 timeframe (when PSV1 couldn’t perform and was not use commonly)

@ Kris & "users listed twice?' - We will check it out & follow up

@ Jon - Example 4 should work, all tracking logs need to be under same directory or sub-directories

Not applicable

Great tool- awesome job guys.

But I am looking for more description of each column  such as

iReceivedFromLocalSmtp iReceivedFromForeign iReceivedFromLocalStore iDeliveredToForeign iDeliveredToLocalStore iDsnFailure iExpanded iRecipientCount iUniqueRecipientCount

Not applicable

Great tool- awesome job guys.

But I am looking for more description of each column  such as

iReceivedFromLocalSmtp iReceivedFromForeign iReceivedFromLocalStore iDeliveredToForeign iDeliveredToLocalStore iDsnFailure iExpanded iRecipientCount iUniqueRecipientCount

Not applicable

and what does this mean ?

microsoftexchange329e71ec88ae4615bbc36ab6ce41109e@domain.local

Not applicable

@ Kris - It's a bug in script.  We will either fix it ( first preference) or update documentation.

Not applicable

Awesome!  I have often wondered why a standard set of reports is not built-in to Exchange, this is just that kind of thing - cool.  I also would like to see this in PS, it would be nice to make it part of my currently weekly powershell script.  

Thanks - awesome job!

Not applicable

I have created the folder "c:tempMSGTRACKOutput" and run the script, but got nothing in the csv files except an error:

Accept Domain Log 'c:tempMSGTRACKOutputArchiveGet-AcceptedDomain.log' does not exist

Did I do something wrong? Or need any pre-work?

Thanks.

Version history
Last update:
‎Apr 29 2020 11:21 AM
Updated by: