Debug-CsAddressBookReplication

Verifies replication between Active Directory and the Skype for Business Server Address book service. This cmdlet was introduced in Lync Server 2013.

Syntax

Debug-CsAddressBookReplication
     [-DomainController <String>]
     [-Force]
     [-OutLoggerVariable <String>]
     [-OutVerboseVariable <String>]
     [-PoolFqdn <Fqdn>]
     [-User <String>]
     [-VerifyNormalization]
     [-VerifyReplication]
     [-AnalyzeFailures]
     [-StartDate <DateTime>]
     [-Tenant <Guid>]
     [<CommonParameters>]

Description

Address Book servers are intermediaries between Active Directory Domain Services (AD DS) and Skype for Business Server. The Address Book server ensures that the user information stored in Skype for Business Server is in sync with the user information stored in Active Directory. This is done by periodically syncing Address Book files with information stored in the User database.

The Debug-CsAddressBookReplication cmdlet enables administrators to verify that data is being replicated between Active Directory and Skype for Business Server. Fully testing replication between Active Directory and the Address Book server can potentially be time-consuming and resource-intensive; because of that, it is recommended that Debug-CsAddressBookReplication only be used in troubleshooting scenarios. If you want to periodically "spot check" the functioning of your Address Book server you should use the Test-CsAddressBookService cmdlet and/or the Test-CsAddressBookWebQuery cmdlet instead.

The functions carried out by the Debug-CsAddressBookReplication cmdlet are not available in the Skype for Business Server Control Panel.

Examples

-------------------------- Example 1 --------------------------

Debug-CsAddressBookReplication

The command shown in Example 1 verifies Address book replication for the current pool. To verify replication for a specified pool, include the PoolFqdn parameter followed by the fully qualified domain name of the pool to be verified.

-------------------------- Example 2 --------------------------

Debug-CsAddressBookReplication -User "sip:kenmyer@litwareinc.com"

In Example 2, the User parameter is included when verifying Address book replication for the current pool. When the User parameter is included, additional related information is returned for the specified user.

-------------------------- Example 3 --------------------------

Debug-CsAddressBookReplication -User "sip:kenmyer@litwareinc.com" -VerifyReplication

Example 3 uses the VerifyReplication parameter to make a change to the specified user account and then verify that this change can be successfully replicated to the Address Book.

-------------------------- Example 4 --------------------------

Debug-CsAddressBookReplication -VerifyNormalization

The command shown in Example 4 uses the VerifyNormalization parameter to return information about user accounts where Address Book normalization rules could not be applied.

Parameters

-AnalyzeFailures

When included in a command, Debug-CsAddessBookReplication will return information about any SQL Server stored procedure errors (SprocExecuteErrors) associated with the Address Book. The returned data includes information about which stored procedure failed; when the procedure failed; and how many times the procedure has failed. Debug-CsAddressBookReplication will also return the SQL error code and provide the failed SQL statement. Among other things, that enables you to rerun the statement from within the SQL debugger.

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

-DomainController

Enables you to specify a domain controller to connect to when verifying Address book replication. If this parameter is not included then the cmdlet will use the first available domain controller.

Type:String
Aliases:DC
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

-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

-OutLoggerVariable

When present, detailed output from running the cmdlet will be stored in the specified variable. This variable includes a pair of methods - ToHTML and ToXML - that can then be used to save that output to either an HTML or an XML file.

To store output in a logger variable named $TestOutput use the following syntax:

-OutLoggerVariable TestOutput

Note: Do not prepend a $ character when specifying the variable name.

To save the information stored in the logger variable to an HTML file, use a command similar to this:

$TestOutput.ToHTML() \> C:\Logs\TestOutput.html

To save the information stored in the logger variable to an XML file, use a command similar to this:

$TestOutput.ToXML() \> C:\Logs\TestOutput.xml

Type:String
Aliases:olv
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

-OutVerboseVariable

When present, detailed output from running the cmdlet will be stored in the specified variable. For example, to store output in a variable named $TestOutput use the following syntax

-OutVerboseVariable TestOutput

Do not prepend a $ character when specifying the variable name.

Type:String
Aliases:ovv
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 being checked. If this parameter is not included then the Debug-CsAddressBookReplication cmdlet will verify the current pool.

Type:Fqdn
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

-StartDate

Indicates the earliest activity date for the errors returned by the AnalyzeFailures parameter. For example, if you set the start date to 3/1/2018 (Match 1, 2018, in U.S. English) any errors prior to that date (for example, errors recorded on February 21, 2018) will be excluded from the returned data.

Use the date-time formats specified by your Regional and Language Options settings when assigning values to the StartDate parameter.

Type:DateTime
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

-Tenant

Globally unique identifier (GUID) of the Skype for Business Online tenant account for which address book replication is being verified. For example:

-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"

You can return the tenant ID for each of your tenants by running this command:

Get-CsTenant | Select-Object DisplayName, TenantID

Type:Guid
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

-User

When included, returns detailed replication information for the specified user accounts. The user account to be verified can be specified by using the user's SIP address, email address, or SamAccountName.

Type:String
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

-VerifyNormalization

If specified, detailed information will be returned for any user accounts where Address book normalization failed. Normalization rules are used to convert phone numbers to the E.164 format used by Skype for Business Server.

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

-VerifyReplication

When specified, the Debug-CsAddressBookReplication cmdlet will modify the specified user account in Active Directory and then verify that the changes are replicated to the Address book. Note that the user account modification is for testing purposes only, and will not actually change the property values of that account.

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

Inputs

None

The Debug-CsAddressBookReplication cmdlet does not accept pipelined input.

Outputs

The Debug-CsAddressBookReplication cmdlet returns instances of the Microsoft.Rtc.SyntheticTransactions.Activities.Database.AddressBookReplicationTaskOutput object.