Topic Last Modified: 2010-10-01

Assigns a voice policy to one or more users or groups.


Grant-CsVoicePolicy -Identity <UserIdParameter> [-PolicyName <String>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-PassThru <SwitchParameter>] [-WhatIf [<SwitchParameter>]]


Parameter Required Type Description




The Identity (unique identifier) of the user to whom the policy is being assigned.

User identities can be specified by using one of four formats: 1) The user's SIP address; 2) the user principal name (UPN); 3) the user's domain name and logon name, in the form domain\logon (for example, litwareinc\kenmyer); and, 4) the user's Active Directory display name (for example, Ken Myer).

Note that you can use the asterisk (*) wildcard character when using the Display Name as the user Identity. For example, the Identity "* Smith" would return all the users with the last name Smith.

Full Data Type: Microsoft.Rtc.Management.AD.UserIdParameter




The name (Identity) of the voice policy to be assigned to the user. (Note that this includes only the name portion of the Identity. Per-user policy identities include a prefix of tag: that should not be included with the PolicyName.)




Allows you to specify a domain controller. If no domain controller is specified, the first available will be used.




Returns the results of the command. By default, this cmdlet does not generate any output.




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




Prompts you for confirmation before executing the command.

Detailed Description

This cmdlet assigns an existing per-user voice policy to a user. Voice policies are used to manage such Enterprise Voice-related features as simultaneous ringing (the ability to have a second phone ring each time someone calls your office phone) and call forwarding. Use this cmdlet to assign the settings that enable and disable these features for a specific user.

You can check whether a user has been granted a per-user voice policy by calling a command in this format: Get-CsUser "<user name>" | Select-Object VoicePolicy. For example:

Get-CsUser "Ken Myer" | Select-Object VoicePolicy

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

Input Types

String. Accepts a pipelined string value representing the Identity of a user account to which the voice policy is being granted.

Return Types

When used with the PassThru parameter, returns an object of type Microsoft.Rtc.Management.ADConnect.Schema.OCSADUserOrAppContact.


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

Copy Code
Grant-CsVoicePolicy -Identity "Ken Myer" -PolicyName VoicePolicyRedmond

This example assigns the voice policy with the Identity VoicePolicyRedmond to the user with the display name Ken Myer.

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

Copy Code
Get-CsUser -OU "ou=Finance,ou=North America,dc=litwareinc,dc=com" | Grant-CsVoicePolicy -PolicyName VoicePolicyRedmond

This example assigns the voice policy with the Identity VoicePolicyRedmond to all users in the Finance OU: OU=Finance,OU=NorthAmerica,DC=litwareinc,DC=com. The first part of the command calls the Get-CsUser cmdlet to retrieve all users enabled for Lync Server 2010 or Office Communications Server from the specified OU. This collection of users is then piped to the Grant-CsVoicePolicy cmdlet, which assigns the policy VoicePolicyRedmond to each of these users.

See Also