Debug-CsIntraPoolReplication
Verifies the synchronous replication of a pool by comparing the data stored for a specified user on a primary Front End server with data for that same user stored on replica Front End servers. This cmdlet was introduced in Lync Server 2013.
Syntax
Debug-CsIntraPoolReplication
[-ConferenceDirectory] <XdsGlobalRelativeIdentity>
[-Force]
[<CommonParameters>]
Debug-CsIntraPoolReplication
[-UserUri] <UserIdParameter>
[-Force]
[<CommonParameters>]
Debug-CsIntraPoolReplication
[-PoolFqdn] <XdsGlobalRelativeIdentity>
[-Force]
[-Service <String>]
[-ShowAll]
[-Type <ServiceEnumerationType>]
[<CommonParameters>]
Description
The Debug-CsIntraPoolReplication cmdlet provides a way for administrators to verify that replication is taking place between a primary Front End server and its replica Front End servers. This can be done in one of two ways: 1) by verifying that the data for a specified user is identical on the Front End server and all its replica servers; or, 2) by verifying that the data for a conference directory is identical on the Front End server and all its replica servers. To perform either of these two tasks, Debug-CsIntraPoolReplication first connects to the primary Front End server and constructs an XML file containing user or conference directory data. The cmdlet then connects to the replica servers, constructs similar XML files, then verifies that selected content in the XML files is identical.
The Debug-CsIntraPoolReplication cmdlet verifies replication for a pool by taking one or more user accounts (or one conference directory) and querying a primary Front End server and all its replica Front End servers for data about that account (or conference directory). The information retrieved from the primary Front End server and the replica servers is then compared: if the data matches, then it is assumed that intrapool replication is working as expected.
Note that this cmdlet can only be called using users or conference directories homed on Skype for Business Server.
To return a list of all the role-based access control (RBAC) roles this cmdlet has been assigned to (including any custom RBAC roles you have created yourself), run the following command from the Windows PowerShell prompt:
Get-CsAdminRole | Where-Object {$_.Cmdlets -match "Debug-CsIntraPoolReplication"}
The functions carried out by the Debug-CsIntraPoolReplication cmdlet are not available in the Skype for Business Server Control Panel.
Examples
-------------------------- Example 1 --------------------------
Debug-CsIntraPoolReplication -UserUri "sip:kenmyer@litwareinc.com"
The command shown in Example 1 verifies replication on a Front End server by using the user with the SIP address "sip:kenmyer@litwareinc.com".
-------------------------- Example 2 --------------------------
Get-CsUser -OU "OU=Redmond,dc=litwareinc,dc=com" | ForEach-Object {Debug-CsIntraPoolReplication $_.Identity}
In Example 2, replication is verified by using all the users who have user accounts in the Redmond OU. To do this, the command first calls Get-CsUser along with the OU parameter; the parameter value "OU=Redmond,dc=litwareinc,dc=com" limits the returned data to user accounts found in the Redmond OU. Those accounts are then piped to the ForEach-Object cmdlet which, in turn, uses Debug-CsIntraPoolReplication cmdlet to verify the replication status of each account in the OU.
-------------------------- Example 3 --------------------------
"sip:kenmyer@litwareinc.com","sip:pilar@litwareinc.com" | ForEach-Object {Debug-CsIntraPoolReplication -UserUri $_}
The command shown in Example 3 verifies replication status by using a pair of user SIP addresses. To perform this task, the two SIP addresses (enclosed in quotation marks and separated by using a comma) are piped to the ForEach-Object cmdlet, which then runs the Debug-CsIntraPoolReplication cmdlet against each SIP address..
-------------------------- Example 4 --------------------------
Debug-CsIntraPoolReplication -ConferenceDirectory 13
In Example 4, replication is verified for the conference directory with the ID 13.
-------------------------- Example 5 --------------------------
Get-CsUser -Filter {RegistrarPool -eq "atl-cs-001.litwareinc.com"} | Debug-CsIntraPoolReplication UserUri {$_.Identity}
Example 5 shows how you can verify replication for all the users homed on a specified Registrar pool. To do this, the command first calls Get-CsUser along with the Filter parameter; the filter value {RegistrarPool -eq "atl-cs-001.litwareinc.com"} limits the returned data to user accounts homed on the Registrar pool atl-cs-001.litwareinc.com. Those accounts are then piped to the Debug-CsIntraPoolReplication cmdlet, which verifies replication for each user in the pool.
Parameters
-ConferenceDirectory
Enables you to verify the replication of a conference directory. Conference directories should be specified using the directory Identity; conference directory Identities can be retrieved by using this command:
Get-CsConferenceDirectory | Select-Object Identity, ServiceId
You cannot use the ConferenceDirectory parameter and the UserUri parameter in the same command.
Type: | XdsGlobalRelativeIdentity |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-Force
Suppresses the display of any non-fatal error message that might occur when running the command.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-PoolFqdn
Fully qualified domain name of the pool to be checked. For example:
-PoolFqdn "atl-cs-001.litwareinc.com"
Type: | XdsGlobalRelativeIdentity |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | Skype for Business Server 2015, Skype for Business Server 2019 |
-Service
Enables you to specify a particular service to be verified.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Skype for Business Server 2015, Skype for Business Server 2019 |
-ShowAll
When included in the command, shows information about all the services involved in replication.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Skype for Business Server 2015, Skype for Business Server 2019 |
-Type
Enables you to specify the type of replication to be verified. Allowed values are:
- ConferenceDirectory
- Routing
Type: | ServiceEnumerationType |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Skype for Business Server 2015, Skype for Business Server 2019 |
-UserUri
SIP address of the user account employed in testing intra-pool replication. For example:
-UserUri sip:kenmyer@litwareinc.com
You cannot use the ConferenceDirectory parameter and the UserUri parameter in the same command.
Type: | UserIdParameter |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
Inputs
String or Microsoft.Rtc.Management.ADConnect.Schema.ADUser object. Debug-CsIntraPoolReplication accepts a pipelined string value representing the SIP address or Active Directory display name of a user account that has been enabled for Lync Server. The cmdlet also accepts pipelined instances of the Active Directory user object for a Lync Server-enabled user.
Outputs
Debug-CsIntraPoolReplication returns instances of the Microsoft.Rtc.Management.UserPinservice.Data.syncReplicationDetails object.