PowerShell Test-ServerHealth

Introduction to Exchange 2010 Test-ServerHealthExchange 2010 PowerShell Test-ServerHealth

Here is an interesting PowerShell cmdlet to check your Exchange Servers’ health.

Topics for Exchange 2010 Test-ServerHealth


PowerShell Assumptions

I cover PowerShell basics elsewhere on the site and I am assuming on this page that you have a working knowledge of the cmdlets.

Test-ServerHealth Credentials

Before you run Test-ServerHealth I suggest that you logon with an account that has been delegated the Exchange Server Administrator role and is a member of the local Administrators group for the target server.

# Simple PowerShell Example:

Example Results:  ServicesRunning

Mailbox Role e.g. MSExchangeSA

Client Access e.g. MSExchangeADTopology

These are just examples, the real results list all the Exchange Services and show which are running and which are not.

Note 1:  You can change the credentials with the parameters -AdCredentials or -ExchangeCredentials.

Research Parameters for Test-ServerHealth with Get-Command

Get-Help Test-ServerHealth -full

Note 2:  I found that -DomainController and -Server are the most useful parameters.  For safety try simulation with: -WhatIf.

Note 3:  Test-ServerHealth is very like the Exchange Best Practice Analyzer (ExBPAcmd).

 Note 4: PowerShell also has a sister command with similar spelling called, Test-SystemHealth.

See more on PowerShell’s Test-ServerHealth for Exchange 2010.


Free Download of Exchange Monitor from SolarWindsGuy Recommends: The SolarWinds Exchange Monitor

Here is a free tool to monitor your Exchange Server.  Download and install the utility, then inspect your mail queues, monitor the Exchange server’s memory, confirm there is enough disk space, and check the CPU utilization.

This is the real deal – there is no catch.  SolarWinds provides this fully-functioning freebie, as part of their commitment to supporting the network management community.

Free Download of SolarWinds Exchange Monitor

PowerShell Pre-requisites and Checklist

In the case of Windows 7 and later, you don’t need to download any extra files, just: ‘Add Feature’ –> Windows PowerShell.  However, for older operating systems, there are different versions of PowerShell for XP, Windows Server 2003 and Vista.  For such legacy systems only, you need to download PowerShell from Microsoft’s site.

Once you have installed PowerShell 2.0 or later, I recommend choosing the ISE (Integrated Scripting Engine) version, it will save buying a text editor.

Summary of PowerShell Exchange Test-ServerHealth

This is an interesting PowerShell cmdlet to check that the vital services are actually running on your Exchange 2010 server.

If you like this page then please share it with your friends


See more Microsoft PowerShell tutorials:

PowerShell Home   • Test-ServerHealth  • Test-SystemHealth   • Test-Connection  • Test-Path

PowerShell Logon Script  • PowerShell add printer  • PowerShell Schedule Task  • Free CSVDE Tool

Map Network Drive  • Exchange 2010 PowerShell Cmdlets   • Exchange 2010 Performance Monitor

Please email me if you have a better script examples. Also please report any factual mistakes, grammatical errors or broken links, I will be happy to correct the fault.