Introduction to Exchange 2010 Test-SystemHealth
Here is an interesting PowerShell cmdlet to check that your Exchange services are running.
Topics for Exchange 2010 PowerShell
- Test-SystemHealth Credentials
- Research Parameters for Test-SystemHealth with Get-Command
- More Exchange PowerShell Cmdlets
♣
PowerShell Assumptions
I cover PowerShell basics elsewhere and I am assuming that you have a working knowledge of the cmdlets and how to research parameters. Incidentally, I use PowerShell 2.0’s graphical ISE, rather than the command line version.
Test-SystemHealth Credentials
Before you run the Test-SystemHealth command make sure that your logon account has been delegated the Exchange Server Administrator role and is a member of the local Administrators group for the target server.
# Simple PowerShell Example:
Test-SystemHealth
Note 1: You can change the credentials with the parameters -AdCredentials or -ExchangeCredentials.
Example Results: ServicesRunning
Mailbox Role e.g. MSExchangeSA
Client Access e.g. MSExchangeADTopology
Just examples, the real results list all the Exchange Services and show which are running and which are not.
Research Parameters for Test-SystemHealth with Get-Command
Get-Help Test-SystemHealth -full
Note 2: While the -Role parameter says ‘Reserved’, you may like to try these commands depending on your Exchange Server 2010.
-Role Mailbox
-Role ClusterMailbox # (Active Mailbox role)
-Role Gateway # (Edge role)
-Role Bridgehead # (Hub Transport role)
-Role ClientAccess
Note 3: Also among the parameters -OutFileLocation and -DomainController are useful.
Note 4: There is a sister command with similar spelling called, Test-ServerHealth.
Note 5: Test-SystemHealth is very like the Exchange Best Practice Analyzer (ExBPAcmd).
See more on PowerShell’s Test-SystemHealth for Exchange 2010.
Guy 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-SystemHealth
Here is an interesting PowerShell cmdlet to check that the required 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.