Applies to: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Topic Last Modified: 2015-03-09

Use the Test-ReplicationHealth cmdlet to check all aspects of the replication and replay status to provide a complete overview of a specific Mailbox server in a database availability group (DAG). The Test-ReplicationHealth cmdlet is designed for the proactive monitoring of continuous replication and the continuous replication pipeline, the availability of the Active Manager, and the health and status of the underlying cluster service, quorum and network components. Test-ReplicationHealth can be run locally on or remotely against any Mailbox server in a DAG.

Test-ReplicationHealth [-Identity <ServerIdParameter>] [-ActiveDirectoryTimeout <Int32>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-MonitoringContext <$true | $false>] [-OutputObjects <SwitchParameter>] [-TransientEventSuppressionWindow <UInt32>] [-WhatIf [<SwitchParameter>]]

You need to be assigned permissions before you can run this cmdlet. Although all parameters for this cmdlet are listed in this topic, you may not have access to some parameters if they're not included in the permissions assigned to you. To see what permissions you need, see the"database availability group" entry in the High Availability Permissions topic.


Parameter Required Type Description




The ActiveDirectoryTimeout parameter specifies the amount of time, in seconds, allowed for each directory service operation to complete before the operation times out. The default value is 15 seconds.




The Confirm switch causes the command to pause processing and requires you to acknowledge what the command will do before processing continues. You don't have to specify a value with the Confirm switch.




The DomainController parameter specifies the fully qualified domain name (FQDN) of the domain controller that retrieves data from Active Directory.




The MonitoringContext parameter specifies whether the results of the command includes monitoring events and performance counters. The two possible values for this parameter are $true or $false. If you specify $true, the results include monitoring events and performance counters in addition to the information about services.




The OutputObjects parameter enables the command to output an array of information regarding failures.




The TransientEventSuppressionWindow parameter specifies the number of minutes that the queue lengths can be exceeded before the queue length tests are considered to have failed. This parameter is used to reduce the number of failures due to transient load generation.




The WhatIf switch instructs the command to simulate the actions that it would take on the object. By using the WhatIf switch, you can view what changes would occur without having to apply any of those changes. You don't have to specify a value with the WhatIf switch.




The Identity parameter specifies the name of the Mailbox server that you want to test.

To see the input types that this cmdlet accepts, see Cmdlet Input and Output Types. If the Input Type field for a cmdlet is blank, the cmdlet doesn’t accept input data.

To see the return types, which are also known as output types, that this cmdlet accepts, see Cmdlet Input and Output Types. If the Output Type field is blank, the cmdlet doesn’t return data.


Error Description

<ServerName> does not have the right Exchange Server version or role required to support this operation. (Error 4E7FF2A9)

The specified server is does not have the Microsoft Exchange Server 2010 Mailbox role installed.

This example tests the health of replication for a Mailbox server named EXMBX1.

Test-ReplicationHealth -Identity EXMBX1