When installing an Exchange update you may run into the error; Service: MSExchangeHM failed to stop.
[ERROR] The following error was generated when "$error.Clear(); & $RoleBinPath\ServiceControl.ps1 -Operation:DisableServices -Roles ($RoleRoles.Replace('Role','').Split(',')) -SetupScriptsDirectory:$RoleBinPath; & $RoleBinPath\ServiceControl.ps1 -Operation:Stop -Roles: ($RoleRoles.Replace('Role','').Split(',')) -IsDatacenter:([bool]$RoleIsDatacenter)" was run: "Microsoft.Exchange.Configuration.Tasks.ServiceStopFailureException: Service 'MSExchangeHM' failed to stop due to error:'Cannot stop MSExchangeHM service on computer '.'.'. ---> System.InvalidOperationException: Cannot stop MSExchangeHM service on computer '.'. ---> System.ComponentModel.Win32Exception: The service has not been started --- End of inner exception stack trace --- at System.ServiceProcess.ServiceController.Stop()
The MSExchangeHM service is part of the Managed Availability feature in Exchange. Managed Availability performs monitoring and self-healing to ensure Exchange stays up and running. This is a service you want to ensure stays running during normal operation, but in this particular scenario, we need to terminate the service so our cumulative update can complete.
The MSExchangeHM workaround
To remediate this error go to Start type Services.msc and launch the Services app.
Scroll until you reach the Microsoft Exchange Health Manager and check its current state. If it is Running state, right-click on the service and select Stop from the context menu.
If the service is stuck in a Stopping state, you will need to terminate the service using Task Manager. Launch Task Manager, select the process named MSExchangeHMHost and select End Task. Verify the service has stopped in the Services app.
Now that the service is stopped, launch setup and retry your cumulative update.
Once your cumulative update has completed successfully, and you have rebooted your Exchange server, launch the Services app to verify your Microsoft Exchange Health Manager is showing a state of Running.
Have you ever run into this problem? What did you do to fix it? Drop a comment below or come join the conversation on Twitter @SuperTekBoy.