Configure managed availability overrides in Exchange Server

Managed availability performs continuous probing to detect possible problems with Exchange components or their dependencies, and it performs recovery actions to make sure the end user experience is not impacted due to a problem with any of these components. However, there may be scenarios where the out-of-box settings may not be suitable for your environment. Managed availability probes, monitors, and responders can be customized by creating an override.

There are two types of overrides: local and global. As their names imply, a local override is available only on the server on which it is created, and a global override is used to apply an override to multiple servers. Both types of override can be created for a specific duration or for a specific version of Exchange, but not both at the same time.

Note

When you create an override, it doesn't take effect immediately. The Microsoft Exchange Health Management service checks for configuration changes every 10 minutes and loads any detected configuration changes. If you don't want to wait, you can restart the service.

To learn more about managed availability, see Managed availability. For additional management tasks related to managed availability, see Manage health sets and server health.

What do you need to know before you begin?

Tip

Having problems? Ask for help in the Exchange forums. Visit the forums at: Exchange Server, Exchange Online, or Exchange Online Protection.

Use the Exchange Management Shell to create local overrides

To create a local override for a specific duration, use the following syntax:

Add-ServerMonitoringOverride -Server <ServerName> -Identity <HealthSetName>\<MonitoringItemName>[\<TargetResource>] -ItemType <Probe | Monitor | Responder | Maintenance> -PropertyName <PropertyName> -PropertyValue <Value> -Duration <dd.hh:mm:ss>

To create a local override for a specific version of Exchange, use the following syntax.

Add-ServerMonitoringOverride -Server <ServerName> -Identity <HealthSetName>\<MonitoringItemName>[\<TargetResource>] -ItemType <Probe | Monitor | Responder | Maintenance> -PropertyName <PropertyName> -PropertyValue <Value> -Version <15.01.xxxx.xxx>

Note

When you create the override, the values used in the Identity parameter are case-sensitive.

This example adds a local override that disables the responder ActiveDirectoryConnectivityConfigDCServerReboot on the server named EXCH03 for 20 days.

Add-ServerMonitoringOverride -Server EXCH03 -Identity "AD\ActiveDirectoryConnectivityConfigDCServerReboot" -ItemType Responder -PropertyName Enabled -PropertyValue 0 -Duration 20.00:00:00

How do you know this worked?

To verify that you have successfully created a local override, use the Get-ServerMonitoringOverride cmdlet to view the list of local overrides:

Get-ServerMonitoringOverride  -Server <ServerIdentity> | Format-List

The override should appear in the list.

Use the Exchange Management Shell to remove local overrides

To remove a local override, use the following syntax.

Remove-ServerMonitoringOverride -Server <ServerName> -Identity <HealthSetName>\<MonitoringItemName>[\<TargetResource>] -ItemType <ExistingItemTypeValue> -PropertyName <PropertytoRemove>

This example removes the existing local override of the ActiveDirectoryConnectivityConfigDCServerReboot responder in the Exchange health set from server EXCH01.

Remove-ServerMonitoringOverride -Server EXCH01 -Identity Exchange\ActiveDirectoryConnectivityConfigDCServerReboot -ItemType Responder -PropertyName Enabled

How do you know this worked?

To verify that you have successfully removed a local override, use the Get-ServerMonitoringOverride cmdlet to view the list of local overrides:

Get-ServerMonitoringOverride  -Server <ServerIdentity> | Format-List

The removed override should not appear in the list.

Use the Exchange Management Shell to create global overrides

To create a global override for a specific duration, use the following syntax.

Add-GlobalMonitoringOverride -Identity <HealthSetName>\<MonitoringItemName>[\<TargetResource>] -ItemType <Probe | Monitor | Responder | Maintenance> -PropertyName <PropertytoOverride> -PropertyValue <NewPropertyValue> -Duration <dd.hh:mm:ss>

To create a global override for a specific version of Exchange, use the following syntax.

Add-GlobalMonitoringOverride -Identity <HealthSetName>\<MonitoringItemName>[\<TargetResource>] -ItemType <Probe | Monitor | Responder | Maintenance> -PropertyName <PropertytoOverride> -PropertyValue <NewPropertyValue> -ApplyVersion <15.01.xxxx.xxx>

Note

When you create the override, the values used in the Identity parameter are case-sensitive.

This example adds a global override that disables the OnPremisesInboundProxy probe for 30 days.

Add-GlobalMonitoringOverride -Identity "FrontendTransport\OnPremisesInboundProxy" -ItemType Probe -PropertyName Enabled -PropertyValue 0 -Duration 30.00:00:00

This example adds a global override that disables the StorageLogicalDriveSpaceEscalate responder for all servers running Exchange version 15.01.0225.042.

Add-GlobalMonitoringOverride -Identity "MailboxSpace\StorageLogicalDriveSpaceEscalate" -PropertyName Enabled -PropertyValue 0 -ItemType Responder -ApplyVersion "15.01.0225.042"

How do you know this worked?

To verify that you have successfully created a global override, use the Get-GlobalMonitoringOverride cmdlet to view the list of global overrides:

Get-GlobalMonitoringOverride

The override should appear in the list.

Use the Exchange Management Shell to remove global overrides

To remove a global override, use the following syntax.

Remove-GlobalMonitoringOverride -Identity <HealthSetName>\<MonitoringItemName>[\<TargetResource>] -ItemType <ExistingItemTypeValue> -PropertyName <OverriddenProperty>

This example removes the existing global override of the ExtensionAttributes property of the OnPremisesInboundProxy probe in the FrontEndTransport health set.

Remove-GlobalMonitoringOverride -Identity FrontEndTransport\OnPremisesInboundProxy -ItemType Probe -PropertyName ExtensionAttributes

How do you know this worked?

To verify that you have successfully removed a global override, use the Get-GlobalMonitoringOverride cmdlet to view the list of global overrides:

Get-GlobalMonitoringOverride

The removed override should not appear in the list.