Exchange 2013 Health Manager generating alerts in SCOM after reboot

We have a 26 server Exchange 2013 server environment, monitored by SCOM. Within Exchange 2013 Managed Availability is monitoring the health of the individual servers, and alerts are escalated to SCOM which sends out text messages to the Exchange administrators.

It is crucial to have this configured properly to avoid invalid or unneeded text messages being sent out.

I’ve noticed that after a reboot of an Exchange server Managed Availability can send out alerts, even when the probes and monitors involved have a global override. Using a global override Managed Availability should never send out alerts to SCOM anyways.

To avoid this from happening you can set the Managed Availability service on your Exchange 2013 server, which is the Health Manager service MSExchangeHM to “Automatic (Delayed Start)”.

The easiest way to do this is to use PowerShell using the Set-Service command:

Set-Service –ComputerName EXCH01 -Name MSExchangeHM –StartupType Type;

Where Type can be Disabled, Manual or Automatic.

Unfortunately it is not possible to set this to “Automatic (Delayed Start)” using PowerShell, but you can create a Registry key on the Exchange 2013 server to achieve this by using the Set-ItemProperty command:

Set-ItemProperty -Path “Registry::HKLM\System\CurrentControlSet\Services\MSExchangeHM” -Name “DelayedAutostart” -Value 1 -Type DWORD

To do this for all Exchange 2013 servers in your organization you can do something like this:

$ExServers = Get-ExchangeServer | Where {$_.Name –like “EXCH*”}
ForEach ($Server in $ExServers) {
  Write-Host “Setting Health Manager service on $Server to Automatic (Delayed Start)”
  Invoke-Command –ComputerName $Server {
    Set-ItemProperty -Path Registry::HKLM\System\CurrentControlSet\Services\MSExchangeHM -Name DelayedAutostart -Value 1 -Type DWORD
  }
}