The Exchange toolkit

[bing_translator]

So lately I’ve had a few customers ask ..

“How come I haven’t heard about this tool you’re talking / showing me until now?”

This was in regards to a performance analysis tool a customer found particularly useful. He went on to wonder out loud. “

“Shouldn’t there be like a master list of Microsoft utilities or tools we can / should be using on our Exchange environments?”

So I took this as an opportunity to start building such a list. So below is a list of utilities, where to get them, when you may need to use them, and the version or versions they are applicable to. Enjoy!

 

*Note* this list will evolve over time. Obviously as a Microsoft employee I am only going to highlight our utilities, it's a legal thing I try to avoid :-) If you have a suggestion for something that should be on it that I’ve missed, please send me an email (csolarz@microsoft.com)  or leave a comment!

Updates.. (always added at bottom of post)

 

1.1 - Added Log parser 2.0 link and updated verison

1.2 - Added EWSEditor info and link

1.3 (8/13) - Added the Process Tracking Log tool & Exchange 2007 / 10 Log growth message tracking collector

1.4 (3/14) - Added the ActiveSync guided walkthrough, Exchange 2003 migration toolkit, guided walkthroughs, etc. Also updated some other links for newer versions

1.5 (10/14) - Added the ECPA

1.6 (3/15) - Added 2013 links for jetstress and loadgen. fixed link for message analyzer

1.7 (6/15) - Added the Managed Availability Troubleshooter (MATS) & Simple Admin audit log report script

1.8 (9/15) - Added the EMS troubleshooting link

1.9 (11/15)  - Added the OCPA & Office 365 Support and Recovery Assistant

2.0 (2/16)  - Added the new EXMon for '13 & '16 as well as PelNet

2.1 (4/16) - Added the Health checker script & the CPU sizing checker scripts

2.2 (9/16)  - Added Exchange log collection script

2.3 (1/17) - Added new messaging profile script and mailbox recovery troubleshooter

2.4 (5/18) - Cleaned up some stale links or deprecated tools

 

VSSTester Script – Exchange 2010 - validate the proper operation of Exchange 2010 VSS writers and collect relevant troubleshooting information.

https://gallery.technet.microsoft.com/scriptcenter/VSSTesterps1-script-4ed07243

MFCMAPI – Any version – This is an excellent tool to look directly into a mailbox or OST file to view item level attributes and settings. Handy for things like finding hidden items, finding mailbox stored settings that appear in outlook, deleting persisting rules or alerts.

https://mfcmapi.codeplex.com/releases/view/104434

Experfwiz – Exchange 2007 & higher (soon to be 2013 as well) -Powershell based script to create counter logs or data collect sets on the server to collect only the exchange relavent objects and counters.

https://experfwiz.codeplex.com/

PAL – Any version – This powershell based tool will parse your previously collected perf data and review it against a collection of XML configuration files that other PFE’s in Microsoft have managed and kept updated. The tool will then spit out a beautiful HTML report with graphs, charts, and tables of your data compared to our best practice recommendations. Great for proving performance / sizing issues and gathering ammunition to bring to management if you need help in justifying a hardware purchase or scale out! *NOTE* newer versions of this tool are x64 only!

https://pal.codeplex.com/

EWS Editor - Exchange 2007 and up - Test and use the EWS services! Assist non-developers in debugging and understanding Exchange stores by exploring items, folders, and their properties in depth

https://ewseditor.codeplex.com/

 

OffCat (Soon to be deprecated)– outlook 2003 and higher – This tool will aid support technicians in finding common misconfigurations in your full Outlook clients

https://www.microsoft.com/en-us/download/details.aspx?id=36852

Network Message Analyzer – Any version – This next gen version of the old school “Net Mon” tool makes collecting network traces and packet captures much easier than in the past. want to confirm that the pesky Outlook client is constantly losing network connectivity? this is the tool for you.

https://www.microsoft.com/en-us/download/details.aspx?id=44226

Microsoft Script Center Repository – Any version – Looking for a script or automation tool to speed up a repetitive process? Looking for an easier way to capture some data and maybe email you a report of it? This is the place to be. It has many of these types of community generated scripts from users looking to help others with similar needs. Some of the contributors are local gurus, MVP’s and even Microsoft Employees and PFE’s! Great thing about this is that it’s more than just Exchange script here, it spans all MSFT technologies

https://gallery.technet.microsoft.com/scriptcenter/site/search?f%5B0%5D.Type=RootCategory&f%5B0%5D.Value=Exchange&f%5B0%5D.Text=Exchange

Exchange Remote Connectivity Analyzer – All versions – This site also known as “EXRCA” is now embedded in the Exchange 2010 Admin console. We’ve expanded it’s scope and use now to include integration / testing with hosted (O365) environment as well as the above mentioned Message Header analyzer.

https://www.testexchangeconnectivity.com/

or

https://exrca.com

Autodiscover Self Test – Exchange 2007 and up - Great internal only test script to see if AutoD is working in a non-internet facing site where the EXRCA tool can’t be used.

https://blogs.technet.com/b/provtest/archive/2010/08/13/exchange-server-2010-sp1-beta-hosting-deployment-part-9-autodiscover.aspx

Exchange Client Network Bandwidth Calculator – Any version – This (still Beta) tool allows you to be able to create some rough numbers on the amount of bandwidth a set of clients, both mobile and full clients could place on your infrastructure as things like versions change and concurrent use varies.

https://gallery.technet.microsoft.com/office/Exchange-Client-Network-8af1bf00

CalCheck tool – Outlook and Exchange 2003 and higer – Command line utility to run against a mailboxes calendar to look for issues related to permissions, free/busy publishing, and auto booking. Now 2010 has a component built-in to handle this as well (Understanding Calendar Repair & EHLO blog post on CRA)

https://www.microsoft.com/en-us/download/details.aspx?id=28786

Datacenter Switchover Troubleshooter – Exchange 2010/2013 – Great PPTX to walk you through the process and ensure you’re following the proper steps along the way!

https://gallery.technet.microsoft.com/Exchange-2010-Datacenter-09a81fc6

Log Parser Studio 2.0 – Any version – Great UI based utility with some canned queries to parse IIS logs. Want to see your top 20 EAS users? *UPDATED for Exchange 2013!!*

https://gallery.technet.microsoft.com/Log-Parser-Studio-cd458765

Exchange Legacy API Scanner – Exchange 2010 – This tool scans servers looking for dependancies that are no longer supported in 2010. Great for look ahead remediation

https://exapiscanner.codeplex.com/

Exchange Pre-Deployment Analyzer – Scans your entire topology to ensure you meet the organizational and AD prerequisites to deploy a certain version of Exchange

2010 - https://www.microsoft.com/en-us/download/details.aspx?id=11636

Exchange Deployment Assistant (EXDeploy) – Ever wonder what all the steps and things to worry about were on how to deploy a clean or upgraded version of Exchange? Here is your walkthrough! Nice since you can save it in PDF format as well for offline reference! Useable for both on-prem, cloud and hybrid deployments

2013 - Exchange 2013 Deployment Assistant

2010 - https://technet.microsoft.com/en-us/exdeploy2010/default(EXCHG.150).aspx#Index

Exchange Mailbox Server Calculator – 2010 / 2013 - Great tool generated directly from the product group themselves (Ross Smith IV specifically and company) to assist in trying to define sizing guidance for this critical role. Understand this calc is only as good as the data you input. The more accurate your collected data, the greater chances you’ll have at a stable and properly loaded Exchange server. A 2013 version of this tool is NOW released.

https://gallery.technet.microsoft.com/Exchange-2010-Mailbox-Server-Role-/

2013- https://blogs.technet.com/b/exchange/archive/2013/05/14/released-exchange-2013-server-role-requirements-calculator.aspx

Exchange Processor Query Tool – This tool will query the machines you plan on using for the above mailbox calc and get the proper values for the SPECint ratings section. You'll need the make and model of the server and the proc (IE - HP dl380 intel x5660 2.7ghz CPU)

https://gallery.technet.microsoft.com/Exchange-Processor-Query-b06748a5

Microsoft Connectivity Analyzer Tool – Any version – Connectivity issue analyzer for the top most common issues. Install and run a mini local version of the EXRCA website!

https://testconnectivity.microsoft.com/?tabid=client

Exchange Server User Monitor (ExMon) – Exchange 2000 and higher – Awesome tool to see exactly which mailboxes are pulling the most load against your servers. Could be used to define who may be a good fit for client throttling. Exchange 2013 doesn't need this and is replaced with the Get-StoreUsageStatistics cmdlet. There IS a 2013/16 version of this, see the link lower in the list.

https://www.microsoft.com/en-us/download/details.aspx?id=11461

Exchange Server Profile Analyzer – Exchange 2007 - To accurately collect existing messaging profiles (sent / recv per day, average mailbox size, etc.) This data is incredibly important for use in the mailbox calculator. Comes in 32

https://www.microsoft.com/en-us/download/details.aspx?id=10559

Exchange get file log usage script - Exchange 2007 + - Using this tool allows you to gather data for network bandwidth data that can be used the in role requirements calculator

https://blogs.technet.com/b/exchange/archive/2014/03/07/now-available-getlogfileusage-ps1-script.aspx

Public Folder Replication Troubleshooter – Exchange 2003 – Guided walk through (GWT) for attacking Public Folder Replication issues

https://blogs.technet.com/b/exchange/archive/2012/11/12/public-folder-replication-troubleshooter.aspx

PST Capture tool – Exchange 2010 & 2013 – Centralized tool to collect, capture and import network based PST’s into mailboxes or Exchange server based archives

https://blogs.technet.com/b/exchange/archive/2013/02/22/time-to-go-pst-hunting-with-the-new-pst-capture-2-0.aspx

LoadGen – Exchange 2010/2013 - utility to be able to simulate load (client load) on a CAS/HUB role server before actually installing exchange to verify the resources allocated or installed to the server will be sufficient.

2010 - https://www.microsoft.com/en-us/download/details.aspx?id=20322

2013 - https://www.microsoft.com/en-us/download/details.aspx?id=40726

JetStress – Exchange 2010/2013 - utility to be able to simulate load (client load) on a Mailbox role server before actually installing exchange to verify the disk subsystem exposed to the server will be sufficient.

2010 - https://technet.microsoft.com/en-us/library/ff706601(v=exchg.141).aspx https://www.microsoft.com/en-us/download/details.aspx?id=4167

2013 - https://www.microsoft.com/en-us/download/details.aspx?id=36849

TCPView – All versions – displays all TCP and UDP endpoints on a system. Great for verifying a certain kind of traffic or connection is or is not taking place.

https://technet.microsoft.com/en-us/sysinternals/bb897437.aspx

PortQry UI – All versions – Tool for testing ports or access to a remote system. Can that system accept Port 25 SMTP traffic? Confirm it here

https://www.microsoft.com/en-us/download/details.aspx?id=24009

EAS Troubleshooter script - all versions - Great PS1 file to assist in parsing the IIS logs and finding potential issues. Also aggregates a lot of the data on mobile devices admins need these days

https://blogs.technet.com/b/exchange/archive/2012/01/31/a-script-to-troubleshoot-issues-with-exchange-activesync.aspx

Report CAL information script - Exchange 2010 - Portion of code to report exactly how many licenses of each type you should have. Easy auditing utility.

https://gallery.technet.microsoft.com/exchange/68321b75-ab3d-4e04-9fe1-6a42de23b67f

Exchange Log Growth Collector Script -   Exchange 2007 & 2010 - exports out all mail traffic to/from the specified mailbox server across all HUB servers between the times specified. This helps provide insight in to any large or looping messages that might have been sent that could have caused the transaction log growth issues on the server.

https://gallery.technet.microsoft.com/scriptcenter/ExLogGrowthCollectorps1-dbb97aa8

Process Tracking Log (PTL) tool - Exchange 2007 & 2010 - Parses message tracking logs and produces a series of great report files helping to identify things like 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 and Simply monitoring server message load. Please note: this script is not officially supported by Microsoft. Please see the script for more details!

https://blogs.technet.com/b/exchange/archive/2011/10/21/updated-process-tracking-log-ptl-tool-for-use-with-exchange-2007-and-exchange-2010.aspx

ActiveSync Guided walk-through - non-version specific - Excellent guide in troubleshooting EAS issues.

https://support.microsoft.com/common/survey.aspx?scid=sw;en;3616&showpage=1

 

Exchange 2003 Migration Toolkit - Exchange 2003 - This is a one stop shop for all links / info related to or relavant for a 2003 to 2007 or 2010 migration. I know a LOT of my customers would have benefitted from this a long time ago! https://blogs.technet.com/b/exchange/archive/2014/03/10/exchange-2003-migration-toolkit.aspx

Office365 Mailbox Migration perf analysis - Hybrid / migration to the cloud - Wondering how well / poorly your mailbox migrations are moving along into our cloud? Here is a great script to interrogate the move reports and statistics to get a frame of reference on the progress and performance.

https://blogs.technet.com/b/exchange/archive/2014/03/24/mailbox-migration-performance-analysis.aspx

ActiveSync log analysis - All versions of Exchange - Blog post to give you a better understanding of what is really happening behind the scenes.

https://blogs.technet.com/b/exchange/archive/2013/10/04/exchange-activesync-mailbox-log-analysis.aspx

Exchange DB growth script - Exchange 2010 & 2013 - Gives details on why the DB's seem to be growing even through transaction log rates appear to be 'normal'

https://blogs.technet.com/b/exchange/archive/2014/01/06/exchange-2010-and-2013-database-growth-reporting-script.aspx

Office 365 Mailbox / Folder sharing scenarios - Office 365 AND Exchange on-prem - self explanatory :)

https://blogs.technet.com/b/exchange/archive/2014/01/09/common-mailbox-folder-sharing-scenarios-guided-walkthroughs-now-available.aspx

Exchange Online migration guided walkthrough - Any on-prem to Office 365

https://blogs.technet.com/b/exchange/archive/2014/02/13/exchange-online-migration-gwt-released.aspx

 

IMAP Migration walkthrough troubleshooter - Looking to use IMAP style migration to move to Exchange Online / Office 365? This tool will help if you run into any roadblocks

https://blogs.technet.com/b/exchange/archive/2014/11/10/introducing-the-imap-migration-troubleshooter.aspx

Managed Availability Troubleshooter (MATS) - Exchange 2013/16 - Confused by the neverending list of events or statuses in Exchange 2013/16 MA? Here is an excellent tool to help break down where your system is having issues. Now V2! https://gallery.technet.microsoft.com/MATS-bc0d200d

Simple parsing of the admin audit log (Script) - Exchange 2010 & 2013 - Administrators could query the Admin Audit Log, using the Search-AdminAuditLog Cmdlet, and reveal any CmdLets invoked, the date and time they were executed and the identity of the person who issued the commands. However, the results of the search are a bit cryptic and it didn’t allow for easy bulk manipulation like parsing, reporting or archiving. Taken from the EHLO (Exchange team) blog

https://gallery.technet.microsoft.com/scriptcenter/Get-SimpleAuditLogReport-19e9e51a

Troublehsooting the Exchange Management Shell - Exchange 2010 - While using the remote Exchange Management Shell with Microsoft Exchange Server 2010, you may encounter problems. You can use the information in this topic to diagnose and resolve client and connection issues.

https://technet.microsoft.com/en-us/library/dd351136(v=exchg.141).aspx

Office 365 Support and Recovery Assistant -  The Office 365 Support and Recovery Assistant helps users troubleshoot and fix their account or profile related Outlook issues. The assistant performs a series of diagnostics tests to identify the root cause of issues, such as verifying users’ credentials, licenses, updates to Outlook clients, and whether Outlook servers are reachable. Depending on the test results, it can offer to automatically fix problems for users or provide instruction on recommended solutions. All the diagnostics results are saved in a log file for users to share with their Outlook admin or support engineers for further investigation. Each time you run Office 365 Support and Recovery Assistant, it automatically gets updated to its latest version, so it can troubleshoot any new Outlook problems.

https://diagnostics.office.com/#/

 

EXMon for 2013 & 2016 -  Exchange 2013 & 2016 - Enables system administrators to view and evaluate individual users' usage and experience with Microsoft Exchange Server

https://aka.ms/exmon2013

PelNet - Powershell tool for TelNet activities. Depending on what parameters you specify, the script will validate accordingly and give you a nice CSV output that you can use to check the SMTP status codes for each server.

https://blogs.technet.com/b/exchange/archive/2014/04/30/released-introducing-pelnet.aspx

Exchange Health Checker script - 2010 through 2016 - Script to check your environment for potential configuration / setup issues which could lead to possible performance issues!

https://gallery.technet.microsoft.com/office/Exchange-2013-Performance-23bcca58

Exchange 2013 sizing checker - 2013 (possibly 2016 since they are close in specs and architecture) - Script to check on things like number of active databases and number of mailboxes in those databases to quickly assess if it's able to keep up with the megacycle load vs what is available on the system.

https://gallery.technet.microsoft.com/office/Exchange-2013-CPU-Sizing-06451c99

Exchange log collection script - 2010 and higher - This script will go through and collect the logs that you need to be collected from an Exchange 2010 or 2013/2016 server automatically and zip them up. This script saves time, helps provides a consistency of the logs that are being collected for an issue.

https://gallery.technet.microsoft.com/office/Exchange-Log-Collection-8cd2019f

Exchange messaging profile script - 2010 and higher - This message profile is a critical part of the information entered into the Exchange Server Role Requirements Calculator and the Exchange Client Network Bandwidth Calculator. Using this script will make things easier

https://blogs.technet.microsoft.com/exchange/2015/04/27/generating-user-message-profiles-for-use-with-the-exchange-calculators/

Exchange Online mailbox recovery troubleshooter - Full 365 or Hybrid customers - Wondering what options you have if you've accidentally deleted an on-prem account & their mailbox? This walks you through the steps / options!

https://blogs.technet.microsoft.com/exchange/2016/09/02/introducing-the-mailbox-recovery-troubleshooter/