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:
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:
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:
Restarting the service and rerunning the health check PowerShell should now report the services as being up: