Exchange 2007 Server Data Collection Script

Recently I had experienced an issue where an Exchange 2007 server was having some ‘issues’.  However before I was engaged to assist in resolving the issue, the admin rebooted the server and the issue went away…but only for a brief period.  This led me to create a script to collect data from an Exchange 2007 server running Windows 2008 SP2.  This is that script.

The script uses the following tools:


Here are some of the tasks the script performs:

  • Determine Exchange 2007 Role (Hub, CAS, and Mailbox are supported)
  • Capture Performance Monitor, based on role
  • MPSReports (requires user interaction)
  • DCDiag against servers in local AD Site
  • Collect a 3 minute network trace using Network Monitor
  • Capture TCP Connections using TCPView
  • DNSLint
  • Run Exchange Best Practice Analyzer (EXBPA) for this server
  • Run various Exchange cmdlets based on server role
  • Collect Cluster Log (if clustered)
  • Collect minidumps using ProcDump of several common processes (if running)


Some user interaction may be required (specifically MPSReports) and the data should all be copied to the current working directory.  To run this script, you must:

  1. Run the PS1 file within Exchange management shell (Run as Administrator)
  2. Have all of the tools within the directory that you want to run the script from
  3. Install Network Monitor
  4. Perfmon XML templates (the attached zip file has a few examples)


Here is picture of the directory with the tools required:



Attached is the script & XML perfmon examples (right click and save target as for proper formatting)




Comments (0)

Skip to main content