Problem solve Get help with specific problems with your technologies, process and projects.

What is the best way to test Exchange 2010 server health?

An admin wants to know what his options are when it comes to checking Exchange 2010 server health. Our expert offers two suggestions.

I'd like to test the health of my Exchange 2010 servers. What are my options?

You have a couple options. Exchange 2010 provides a number of Exchange Management Shell (EMS) cmdlets that you can use to test Exchange 2010 server health. Your other option is via the Microsoft Exchange Best Practices Analyzer. Let's examine both.

Exchange 2010 continues numerous cmdlets to test server health
Figure 1.Commands at your disposal test various aspects of Exchange.

Testing Exchange 2010 server health via the Exchange Management Shell

To begin, open an EMS window on one of your Exchange 2010 servers and type the following command:

Get-Command Test*

When you do, you'll get an output similar to the one in Figure 1.

As you can see, a number of different commands allow you to test the health of various aspects of your Exchange 2010 infrastructure. There are too many to cover all of them in detail here, but let's look at a quick example.

Testing MAPI connectivity in Exchange 2010
Figure 2. Test MAPI connectivity using the Exchange Management Shell.

Let's assume that you want to test MAPI connectivity to your Exchange 2010 mailbox databases. To do so, use the Test-MAPIConnectivity cmdlet. It will produce an output similar to the one in Figure 2.

You also have the option to modify the cmdlet to generate a report based on specific conditions. Look back at Figure 2 and you'll see that connectivity on one of the servers failed. We can modify a script if the command returns anything other than "Success."

$Result = Test-MAPIConnectivity -PerConnectionTimeout 10 foreach($res in $Result){                 if($Res.Result.Value -ne 'Success'){                                 Write-Host $Res.Database $Res.Error -ForegroundColor Red                 }else{                                 Write-Host $Res.Database "OK!" -ForegroundColor Green                 } }


ExBPA has been retired in Exchange 2013.

Using the Exchange Best Practices Analyzer to test Exchange 2010 health

You can also use the Microsoft Exchange Best Practices Analyzer (ExBPA) to perform a number of tests (including gauging health) against your Exchange 2010 configuration.

The ExBPA gauges Exchange 2010 server health and offers troubleshooting tips
Figure 3. ExBPA gauges Exchange 2010 server's health and offers troubleshooting tips.

To check Exchange 2010 server health, simply run the ExBPA. In Figure 3 you can see some example output from when I ran the tool in an Exchange 2010 environment. Note that the tool also makes recommendations on how to solve whatever issues it identifies.

Aside from the built-in cmdlets and the ExBPA, I also recommend performing an Internet search for Exchange 2010 monitoring tools. There are several available that proactively monitor your Exchange environment.

About the author:
Andy Grogan is an Exchange MVP based in the U.K. He has worked in the IT industry for the last 14 years -- primarily with Microsoft, HP and IBM technologies. His main passion is Exchange Server, but he also specializes in Active Directory, SQL Server and storage solutions. Grogan currently works for a large council in West London as the networks and operations manager supporting 6,000 customers on more than 240 sites. Visit Andy's website at

Dig Deeper on Exchange Server setup and troubleshooting