[This is preliminary documentation and is subject to change. Blank topics are included as placeholders.]

Modifies an existing collection of Address Book server settings; these settings include the number of days that Address Book change files are retained as well as the percentage of Address Book information that must be modified before a new change file is created. Users query Address Book files any time they search for a new contact.


Set-CsAddressBookConfiguration [-Identity <XdsIdentity>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-IgnoreGenericRules <$true | $false>] [-KeepDuration <UInt32>] [-MaxDeltaFileSizePercentage <UInt32>] [-RunTimeOfDay <DateTime>] [-SynchronizePollingInterval <TimeSpan>] [-UseNormalizationRules <$true | $false>] [-WhatIf [<SwitchParameter>]]
Set-CsAddressBookConfiguration [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-IgnoreGenericRules <$true | $false>] [-Instance <PSObject>] [-KeepDuration <UInt32>] [-MaxDeltaFileSizePercentage <UInt32>] [-RunTimeOfDay <DateTime>] [-SynchronizePollingInterval <TimeSpan>] [-UseNormalizationRules <$true | $false>] [-WhatIf [<SwitchParameter>]]


Parameter Required Type Description




Represents the unique identifier to be assigned to the collection of Address Book settings. To refer to the global settings, use this syntax: -Identity global. To refer to a collection configured at the site scope, use syntax similar to this: -Identity site:Redmond. Note that you cannot use wildcard characters when specifying an Identity.

If this parameter is omitted then Set-CsAddressBookConfiguration will modify the global settings.



AddressBookSettings object

Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values.




Indicates whether the Address Book server will ignore the "generic" normalization rules used when parsing phone numbers. Generic rules are the rules that are built into Communications Server 2010. These rules cannot be changed; however, by setting the value of this property to True you can instruct your Address Book servers not to use these rules, but to use custom rules that you create yourself. The default value is False.




Specifies the amount of time (in days) that Address Book servers will keep change files. Change files older than the value of the KeepDuration property will be deleted.

Minimum value: 1.00:00:00 (1 Day)

Maximum value: 90.00:00:00 (90 Days)

Default: 30.00:00:00 (30 Days)




When changes are made to Active Directory (such as a new user being enabled for Communications Server), the Address Book server typically records these changes in a "delta file," a file consisting only of the updated information; Communicator can then download the delta files rather than a complete Address Book file. The MaxDeltaFileSizePercentage property determines how large the delta files can get before they are incorporated into the complete Address Book file. By default, delta files can be as large as 20 percent of the complete Address Book file before a new Address Book file is generated. At that point, Communicator clients will download the complete file rather than a delta file.

MaxDeltaFileSizePercentage must be entered as a percentage value between 1 and 100, inclusive.




Indicates the time of day when the servers generate new Address Book files. The RunTimeOfDay property is based on a 24-hour clock (hours:minutes:seconds), with 00:00:00 representing midnight and 23:59:00 representing 11:00 PM.

The default value is 01:30:00 (1:30 AM).




Indicates how often Address Book severs synchronize their information with the information stored in Active Directory.

Minimum value: 00:00:05 (5 seconds).

Maximum value: 03:00:00 (3 hours).

Default value: 00:05:00 (5 minutes).




Indicates whether Address Book servers should use phone normalization rules when retrieving phone numbers. If set to False, phone numbers will be retrieved as-is and it will be up to the client application to apply normalization rules when displaying these numbers.

The default value is True.



Switch Parameter

Suppresses the display of any non-fatal error message that might arise when running the command.



Switch Parameter

Describes what would happen if you executed the command without actually executing the command.



Switch Parameter

Prompts you for confirmation before executing the command.

Detailed Description

When people use Microsoft Communicator to search for new contacts they typically do not search Active Directory itself; that’s because hundreds of simultaneous Active Directory searches run the risk of bogging down both your network and your domain controllers. Instead, users searching for contacts typically search through local files generated by an Address Book server.

Address Book servers are intermediaries between Active Directory Domain Services and Microsoft Communications Server 2010. The Address Book server ensures that the user information stored in Communications Server 2010 is in synch with the user information stored in Active Directory. In addition, Address Book servers periodically generate address book files that are downloaded to computers running Communicator. When a person uses Communicator to search for contacts, he or she will typically search through the address book files stored on the local computer. That makes searches much faster, and reduces wear on the network and on the domain controllers. This also explains why you can only search for contacts using a limited number of search fields: that’s because Address Book files contain only a relatively small subset of the information stored in Active Directory.

Address Book servers are governed using Address Book configuration settings; these settings determine such things as how often Address Book servers are synchronized with AD DS and how often Address Book files are generated. When you install Communications Server a set of global Address Book settings are created for you; you can also create custom configuration settings that can be applied to individual sites. These site configurations, if they exist, apply to any Address Book servers operating in the site, and always take precedence over the global settings.

The Set-CsAddressBookConfiguration cmdlet enables you to modify any of the Address Book settings collection currently in use in your organization.

Input Types

Return Types

Set-CsAddressBookConfiguration does not return a value or object. Instead, the cmdlet configures instances of the Microsoft.Rtc.Management.WriteableConfig.Settings.AddressBook.AddressBookSettings object.


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

Copy Code
Set-CsAddressBookConfiguration -identity site:Redmond -RunTimeOfDay 23:00

This example sets the RunTimeOfDay property, the property that determines the time of day when Address Book synchronization takes place, to 23:00 (11:00 PM on a 24-hour clock). The Identity parameter is used to limit the change to the Address Book server with the identity site:Redmond.

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

Copy Code
Get-CsAddressBookConfiguration -Filter site:* | Set-CsAddressBookConfiguration -RunTimeOfDay 23:00

In Example 2, the RunTimeOfDay property is set to 11:00 PM (23:00) for all the Address Book setting collections that have been configured at the site scope. To do this, the command first uses Get-CsAddressBookConfiguration and the Filter parameter to return a collection of all the site-specific settings; the filter value "site:*" limits the returned data to collections configured at the site scope. This information is then piped to Set-CsAddressBookConfiguration, which modifies the value of the RunTimeOfDay property for each item in the collection.

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

Copy Code
Get-CsAddressBookConfiguration | Where-Object {$.KeepDuration -lt 30.} | Set-CsAddressBookConfiguration -KeepDuration 30.

The preceding command modifies the KeepDuration property for any Address Book settings collections where KeepDuration is less than 30 days. To carry out this task, Get-CsAddressBookConfiguration is used, without any additional parameters, to return a collection of all the Address Book settings configured for use in the organization. This collection is then piped to the Where-Object cmdlet, which selects only those settings where the KeepDuration property is less than (-lt) 30 days (30.). This filtered collection is then piped to Set-CsAddressBookConfiguration, which changes the value of the KeepDuration property for each item in the collection to 30 days.