Topic Last Modified: 2014-02-24

Modifies an existing User Services policy. User Services policies determine whether or not a user's contacts are stored in Lync Server 2013 or in the Unified Contact Store. The Unified Contact Store provides a way for users to maintain a single set of contacts that can be accessed using Lync 2013, Outlook, and/or Outlook Web Access. This cmdlet was introduced in Lync Server 2013.

Syntax

Set-CsUserServicesPolicy [-Identity <XdsIdentity>] <COMMON PARAMETERS>
Set-CsUserServicesPolicy [-Instance <PSObject>] <COMMON PARAMETERS>
COMMON PARAMETERS: [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-MigrationDelayInDays <Int32>] [-Tenant <Guid>] [-UcsAllowed <$true | $false>] [-WhatIf [<SwitchParameter>]]

Examples

Example 1

The command shown in Example 1 disables the use of the Unified Contact Store for the per-user User Services policy RedmondUserServicesPolicy. This means that users managed by this policy will not have their contacts stored in the Unified Contact Store.

Copy Code
Set-CsUserServicesPolicy -Identity "RedmondUserServicesPolicy" -UcsAllowed $False

Example 2

In Example 2, all the User Services policies configured at the site scope are modified to disable the use of the Unified Contact Store. To do this, the command first calls the Get-CsUserServicesPolicy cmdlet and the Filter parameter to return a collection of all the policies configured at the site scope. This collection is then piped to the Set-CsUserServicesPolicy cmdlet, which takes each policy in the collection and sets the UcsAllowed property to False ($False).

Copy Code
Get-CsUserServicesPolicy -Filter "site:*" | Set-CsUserServicesPolicy -UcsAllowed $False

Detailed Description

The unified contact store introduced in Lync Server 2013 gives administrators the option of storing a user's contacts in Microsoft Exchange Server 2013 instead of in Lync Server; in turn that allows the user to access the same set of contacts in Outlook and Outlook Web Access as well as in Lync 2013. (Alternatively, you can continue to store contacts in Lync Server 2013. In that case, users will have to maintain two separate sets of contacts: one for use with Outlook and Outlook Web Access, and one for use with Lync 2013.)

In order to take advantage of the unified contact store you must (among other things) assign the user a user services policy that enables the use of the unified contact store. User service policies (which can be configured at the global, site, or the per-user scope) contain only a single property: UcsAllowed. When this property is set to True then (assuming all the other prerequisites have been met) the next time a user logs on to Lync Server 2013 his or her contacts will automatically be migrated to the unified contact store.

If this property is set to False this automatic migration will not take place. However, simply setting UcsAllowed will not cause a user's contacts to be moved from the unified contact store back to Lync Server. In order to do that, you must first assign the user a user services policy that does not allow the use of the unified contact store. After that, you must then use the Invoke-UcsRollback cmdlet to "manually" migrate the contacts from the unified contact store back to Lync 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 command-line interface prompt:

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Set-CsUserServicesPolicy"}

Lync Server Control Panel: The functions carried out by the Set-CsUserServicesPolicy cmdlet are not available in the Lync Server Control Panel.

Parameters

Parameter Required Type Description

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. Suppresses the display of any non-fatal error message that might arise when running the command.

Force

Optional

System.Management.Automation.SwitchParameter

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

Identity

Optional

Microsoft.Rtc.Management.Xds.XdsIdentity

Unique identifier for the policy to be modified. To modify the global policy, use this syntax:

-Identity "global"

To modify a policy configured at the site scope, use syntax similar to this:

-Identity "site:Redmond"

To modify a policy configured at the service scope, use syntax similar to this:

-Identity "UserServer:atl-cs-001.litwareinc.com"

Note that the UserServer service is the only service that can host a user services policy.

If this parameter is not included then the Set-CsUserServicesPolicy cmdlet will automatically modify the global policy.

Instance

Optional

System.Management.Automation.PSObject

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

MigrationDelayInDays

Optional

System.Int32

Specifies the number of days for the system to wait before it migrates users to the unified contact store.

Tenant

Optional

System.Guid

Globally unique identifier (GUID) of the Lync Online tenant account for which the user services policy being modified. 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

UcsAllowed

Optional

System.Boolean

When set to True (the default value) users affected by the policy will automatically be migrated to the unified contact store (assuming that they have an account on Microsoft Exchange Server 2013 and that they log on using Lync 2013). When set to False, users can be removed from the unified contact store, but only if they are "manually" removed by the Invoke-CsUcsRollback cmdlet.

WhatIf

Optional

System.Management.Automation.SwitchParameter

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

Input Types

The Set-CsUserServicesPolicy cmdlet accepts pipelined instances of the Microsoft.Rtc.Management.WritableConfig.Policy.UserServices.UserServicesPolicy object.

Return Types

None. Instead, the Set-CsUserServicesPolicy cmdlet modifies existing instances of the Microsoft.Rtc.Management.WritableConfig.Policy.UserServices.UserServicesPolicy object.

See Also