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

Removes an existing client policy. Among other things, client policies help determine the features of Microsoft Communicator "14" that are made available to users; for example, you might give some users the right to transfer files while denying this right to other users. Many of the client policies used in Microsoft Communications Server 2010 are derived from the Group Policy settings used in Microsoft Office Communications Server 2007 R2.


Remove-CsClientPolicy -Identity <XdsIdentity> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]


Parameter Required Type Description




Unique identifier for the client policy to be removed. To remove the global policy, use the following syntax: -Identity global. To remove a site policy use syntax similar to this: -Identity site:Redmond. To remove a per-user policy, use syntax like the following: -Identity SalesDepartmentPolicy. Note that you cannot use wildcards when specifying a policy Identity.



Switch Parameter



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

In Communications Server 2010 client policies replace the Group Policy settings used in previous versions of the product. In Microsoft Office Communicator 2007 and Microsoft Office Communicator 2007 R2 Group Policy was used to help determine what users could do with Communicator and with Live Meeting; for example, there were Group Policy settings that determined whether or not users could save a transcript of their instant messaging sessions; whether information from Microsoft Outlook was incorporated into their presence information; and whether or not users could include emoticons or formatted text in instant messages.

As useful, and as powerful, as Group Policy is, however, the technology still has some limitations, especially when applied to Communications Server 2010. For one thing, Group Policy is designed to be applied on a per-domain or per-OU basis; that makes it difficult to target policies towards a more select group of users (for example, all the users who work in a particular department, or all the users who have a particular job title). For another, Group Policy is only applied to users who log on to the domain, and who log on using a computer; Group Policy is not applied to users who access Communications Server 2010 over the Internet or who access the system by using a cell phone. This means that the same user can have a very different experience depending on the device her or she uses to log on, and where he or she logs on from.

To help address these inconsistencies, Communications Server 2010 uses client management policies instead of Group Policies. Client policies are applied each time a user accesses the system, regardless of where the user logs on from and regardless of the type of device he or she is using. In addition, client policies - like other Communications Server 2010 policies - can readily be targeted towards select groups of users; you can even create a custom policy that’s assigned to a single user.

In case you’re wondering, many of the Group Policy settings from Office Communications Server 2007 R2 have been migrated to the new client policies; client policies contain a number of settings - DisableRTFIM; DisableOneNote12Integration; EnableTracing - that have been carried over from Office Communications Server 2007 R2. In addition, client policies also include settings such as DisablePoorNetworkWarnings and DisplayPhoto - that are unique to Communications Server 2010.

Client policies can be configured at the global, site, and per-user scopes. (Policies configured at the per-user scope can be assigned to a user or group of users.) Policies that have been configured at the site or per-user scope can be deleted using the Remove-CsClientPolicy cmdlet. If a site policy is removed any users who were affected by that policy will automatically inherit the global policy in its stead. If a per-user policy is removed any users who were assigned that policy will inherit the relevant site policy. If no site policy exists then those users will inherit the global policy.

You can also run Remove-CsClientPolicy against the global policy. In that case, the global policy will not be removed; that’s because global policies cannot be deleted. However, all the properties in the global policy will be reset to their default values.

Return Types

Remove-CsClientPolicy does not return a value. Instead, the cmdlet deletes instances of the Microsoft.Rtc.Management.WriteableConfig.Policy.Client.ClientPolicy object.


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

Copy Code
Remove-CsClientPolicy -Identity SalesPolicy

In Example 1 Remove-CsClientPolicy is used to delete the client policy that has the Identity SalesPolicy.

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

Copy Code
Get-CsClientPolicy -Filter tag:* | Remove-CsClientPolicy

In Example 2, Get-CsClientPolicy and Remove-CsClientPolicy are used to delete all the client policies that have been configured at the per-user scope. To perform this task the command uses Get-CsClientPolicy and the -Filter parameter to return a collection of all the client policies configured at the per-user scope; the filter value "tag:*" tells Get-CsClientPolicy to limit the retrieved data to client policies that have an Identity that begins with the string value "tag:". The filtered collection is then passed to Remove-CsClientPolicy, which removes each policy in the collection.

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

Copy Code
Get-CsClientPolicy | Where-Object {$_.EnableAppearOffline -eq $True} | Remove-CsClientPolicy

The preceding command deletes all the client policies where the EnableAppearOffline property is set to True. To do this, Get-CsClientPolicy is first called without any additional parameters; that returns a collection of all the client policies configured for use in the organization. This collection is then piped to the Where-Object cmdlet, which picks out only those policies where the EnableAppearOffline property is equal to (-eq) True ($True). In turn, this filtered collection is piped to Remove-CsClientPolicy, which deletes each policy in the collection.