Topic Last Modified: 2011-02-09

Modifies an existing collection of Address Book configuration settings.


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


Parameter Required Type Description




Unique identifier 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. 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.



Switch Parameter

When set to True (the default value) the Address Book server generates Address Book index files that can be downloaded by clients. When set to False, these index files are not generated. That means that client applications will have to use the Address Book Web Query service when searching for contacts.




Indicates whether or not the Address Book server ignores the generic normalization rules used when parsing phone numbers. Generic rules are the rules that are built into Lync Server 2010. These rules cannot be changed; however, by setting the value of this property to True you can instruct your Address Book servers to ignore these rules and instead 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. The KeepDuration can be set to any integer value between 1 and 90, inclusive. The default value is 30 days.




When changes are made to Active Directory (such as a new user being enabled for Lync Server), the Address Book server typically records these changes in a "delta file," a file consisting only of the updated information; Lync 2010 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, Lync 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:59 P.M..

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




Indicates how often Address Book servers synchronize their information with the information stored in the User database. The SynchronizePollingInterval can be set to any value between 5 seconds (00:00:05) and 3 hours (03:00:00). The default value is 5 minutes (00:05:00).




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

Address Book servers are intermediaries between AD DS and Microsoft Lync Server 2010. The Address Book server ensures that the user information stored in Lync Server 2010 is in synch with the user information stored in AD DS. This is done by periodically synching Address Book files with information stored in the User database.

In addition, Address Book servers periodically generate index files that are downloaded to computers running Lync 2010. When a user searches for contacts, he or she either search through these index files or search the Address Book index files stored in the Central Management store.

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

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

Who can run this cmdlet: By default, members of the following groups are authorized to run the Set-CsAddressBookConfiguration cmdlet locally: RTCUniversalServerAdmins. 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 "Set-CsAddressBookConfiguration"}

Input Types

Microsoft.Rtc.Management.WritableConfig.Settings.AddressBook.AddressBookSettings object. Set-CsAddressBookConfiguration accepts pipelined input of Address Book configuration objects.

Return Types

Set-CsAddressBookConfiguration does not return a value or object. Instead, the cmdlet configures instances of the Microsoft.Rtc.Management.WritableConfig.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 configuration settings 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 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 30 days. 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.

See Also