Applies to: Exchange Server 2010

Topic Last Modified: 2011-03-19

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>]]

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.

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.

The OutputObjects parameter has the following return types:

  • ServerName   The server on which the failure occurred.
  • CheckID   A unique identifier for every check performed by the task.
  • CheckTitle   The title of the check that was run.
  • InstanceIdentity   A unique string identifying the instance that failed (for example, a database GUID).
  • DbFailureEventID   The Event ID of the failure event logged by the Microsoft Exchange Replication Service for a database copy that's in a Failed state.
  • CheckResult   A result enumeration for the check (for example, pass, fail, or warning).
  • ErrorMessage   A failure message logged by the check for the specific failure instance.

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