Topic Last Modified: 2013-02-21

Modifies a hosted voice mail policy. This cmdlet was introduced in Lync Server 2010.


Set-CsHostedVoicemailPolicy [-Identity <XdsIdentity>] <COMMON PARAMETERS>
Set-CsHostedVoicemailPolicy [-Instance <PSObject>] <COMMON PARAMETERS>
COMMON PARAMETERS: [-Confirm [<SwitchParameter>]] [-Description <String>] [-Destination <String>] [-Force <SwitchParameter>] [-Organization <String>] [-Tenant <Guid>] [-WhatIf [<SwitchParameter>]]



This command modifies the Destination property of a hosted voice mail policy named ExRedmond. It sets the Exchange UM destination for this policy to be at FQDN

Copy Code
Set-CsHostedVoicemailPolicy -Identity ExRedmond -Destination


This command adds an Exchange tenant to the comma-separated list of tenants (organizations) for the policy ExRedmond. The first line calls the Get-CsHostedVoicemailPolicy cmdlllet to retrieve the policy with the Identity ExRedmond. This cmdlet call is in parentheses because we need to first retrieve this policy. We then use "dot notation" to retrieve the Organization property of the policy. We save the returned string in the variable $a. The next line uses the += operator to append the assigned string (, to the end of the string stored in variable $a. (Note the comma in the assigned string. Organization is a comma-separated list, so if there’s already a value in the list any additional values need to be preceded by a comma.) Finally, in the last line we call the Set-CsHostedVoicemailPolicy cmdlet and assign the new Organization string by passing the variable $a to the parameter Organization.

Copy Code
$a = (Get-CsHostedVoicemailPolicy -Identity ExRedmond).Organization
$a += ","
Set-CsHostedVoicemailPolicy -Identity ExRedmond -Organization $a

Example 3

The command shown in Example 3 modifies the Destination property of the hosted voicemail policy assigned to the Lync Online tenant with the tenant ID 73d355dd-ce5d-4ab9-bf49-7b822c18dd98.

Copy Code
Set-CsHostedVoicemailPolicy -Tenant "73d355dd-ce5d-4ab9-bf49-7b822c18dd98" -Destination ""

Detailed Description

This cmdlet modifies a policy that configures a user account enabled for Lync Server or Microsoft Office Communications Server to use an Exchange Unified Messaging (UM) hosted voice mail service. The policy determines how to route unanswered calls to the user to a hosted Exchange UM service.

A user must be enabled for Exchange UM hosted voice mail for this policy to take effect. You can call the Get-CsUser cmdlet and check the HostedVoiceMail property to determine whether a user is enabled for hosted voice mail. (A value of True means the user is enabled.)

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


Parameter Required Type Description




Prompts you for confirmation before executing the command.




A friendly description of the policy.




The value assigned to this parameter is the fully qualified domain name (FQDN) of the hosted Exchange UM service. Note that the chosen destination must be trusted for routing.

If you attempt to enable a user for hosted voice mail and the user’s assigned policy does not have a Destination value, the enable will fail.

This value must be 255 characters or less and in a format matching the regular expression string ^[a-zA-Z0-9\-_]+(\.[a-zA-Z0-9\-_]+){0,}$. This just means it should be in the form of an FQDN, such as




Suppresses any confirmation prompts that would otherwise be displayed before making changes.




A unique identifier for the hosted voice mail policy you want to modify. This identifier includes the scope (in the case of global), the scope and site (for a site policy, such as site:Redmond), or the policy name (for a per-user policy, such as HVUserPolicy).




Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values. The object must be of type HostedVoicemailPolicy and can be retrieved by calling the Get-CsHostedVoicemailPolicy cmdlet.




This parameter contains a comma-separated list of the Exchange tenants that contain Lync Server users. Each tenant must be specified as an FQDN of the tenant on the hosted Exchange Service.




Globally unique identifier (GUID) of the Lync Online tenant account for which hosted voicemail 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




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

Input Types

Microsoft.Rtc.Management.WritableConfig.Policy.Voice.HostedVoicemailPolicy object. Accepts pipelined input of hosted voice mail policy objects.

Return Types

This cmdlet modifies an object of type Microsoft.Rtc.Management.WritableConfig.Policy.Voice.HostedVoicemailPolicy

See Also