Running Test-ExchangeServerHealth.ps1 Exchange Server health check script returns services as being down

Problem

You’ve been using the Test-ExchangeServerHealth.ps1 Exchange Server health check script for sometime but noticed that it has began falsely reporting the Client Access Server Role, Hub Transport Server Role, Mailbox Server Role and Mailbox Server Role services as being in a Fail state:

image

Solution

One of the possible causes of the incorrect report of the status for the services is if WinRM is not started on the Exchange server.  A way of determining this is to execute the Test-ServiceHealth <serverName> then review the output:

image

Note how the last line for each service displays {ServicesNotRunning: WinRM}

WinRM will be reported as not running regardless of whether the Test-ServiceHealth cmdlet is executed remotely or locally on the server.

To correct the issue, log onto the affected Exchange server and ensure that the Windows Remote Management (WS-Management) service is started:

imageimage

Restarting the service and rerunning the health check PowerShell should now report the services as being up:

imageimage