Some useful exchange monitoring tools

Quite often I get asked about ways to find out basic stuff about exchange. Basic stuff that, frankly, is often quite difficult to find out unless you are already a powershell wizard. Now, we should all be working toward becoming powershell wizards, but if you’re like me, you may not be there quite yet…


So here’s a collection of tools that may be of use. Some of these are a little old – 18 months or so, but I was prompted to dig them out after seeing the new “exchange reports” utility on codeplex ( It’s very pretty but is unfortunately an .exe, which may make it tricky for some people.











I’d suggest you download it and play with it in your labs – I certainly will.


If executables are bit out of your price range, then here’s a few powershell scripts that are worth investigating. The first one is from Steve Goodman – it’s a little long in the tooth, but has just been updated and had some bugs fixed.


this is great – total number and average size of mailboxes, DB size and the amount of white space, last full backup and lots more besides. Of course, being a powershell script, the software is already installed on your server – you could just type it all out longhand and run it.


Finally here’s a couple from Paul Cunningham at ExchangeServerPro. First a DAG health checker ( which will check the replication state of copies and content indexes and then a more comprehensive checker ( This second one takes a bit of configuring, but runs a series of automated checks – hopefully you’re running  a chunk of this stuff already with SCOM. You can run it to test a particular server:

.\test-exchangeserverhealth.ps1 –server <servername>




Dns – is the name resolvable?

Services are running?

Total queue is the sum of items in all the queues on that server.

Mailbox test is on a server at random.


Run the without parameters to go through every server in the organization. This may take an hour or more for very large organisations (ie lots of servers, rather than lots of mbxs). If you add the following parameters:

.\test-exchangeserverhealth.ps1 –reportmode $true  -sendemail $true

The script will send a html report to the email address in the Email Settings section.


The great thing about powershell scripts is they are very easy to reverse engineer and repurpose if necessary. In the last article there’s also a section on how to schedule the script, which is easily applicable to the other scripts if you prefer them, or want to run them as well.



Enhanced by Zemanta
Post a comment or leave a trackback: Trackback URL.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: