Topic Last Modified: 2012-04-23

Creates a new mobility policy at the site or the per-user scope. Mobility policies determine whether or not a user can use Microsoft Lync 2010 Mobile. These policies also manage a user's ability to employ Call via Work, a feature that enables users to make and receive phone calls on their mobile phone by using their work phone number instead of their mobile phone number.

New-CsMobilityPolicy -Identity <XdsIdentity> [-Confirm [<SwitchParameter>]] [-Description <String>] [-EnableMobility <$true | $false>] [-EnableOutsideVoice <$true | $false>] [-Force <SwitchParameter>] [-InMemory <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Lync 2010 Mobile is a client application that enables users to run Microsoft Lync 2010 on their mobile phones. Call via Work provides a way for users to make calls on their mobile phone and yet have it appear as though the call originated from their work phone number instead of their mobile phone number. Users who have been enabled for Call via Work can achieve this either by dialing directly from their mobile phone or by using the dial-out conferencing option. With dial-out conferencing, a user effectively asks the Microsoft Lync Server 2010 Mobility Service server to make a call for them. The server will set up the call, and then call the user back on their mobile phone. After the user has answered, the server will then dial the party being called.

Both of these capabilities – the ability to run Lync 2010 Mobile and the ability to use Call via Work – are managed using mobility policies. When you install Microsoft Lync Server 2010, you will have a single, global mobility policy that applies to all your users. However, administrators can use the New-CsMobilityPolicy cmdlet to create custom policies at either the site or the per-user scope.

Other than a description of the policy, mobility policies have only two properties. The first, EnableOutsideVoice, determines whether or not Call via Work is enabled; the second, EnableMobility, determines whether or not users are allowed to use Lync Mobile. Both of these properties must be set to true before a user can take advantage of Call via Work. If EnableMobility is set to True and EnableOutsideVoice is set to False, the user can run Microsoft Lync Mobile but will not be able to use Call via Work. If EnableMobility is set to False and EnableOutsideVoice is set to True the user will not be able to run Microsoft Lync Mobile. In turn, that means that the user will not be able to use Call via Work, regardless of the value of the EnableOutsideVoice property.

To use Call via Work, users must be managed by a voice policy that allows simultaneous ringing.

Who can run this cmdlet: By default, members of the following groups are authorized to run the New-CsMobilityPolicy cmdlet locally: RTCUniversalServerAdmins.


Parameter Required Type Description




Unique Identity to be assigned to the policy. New mobility policies can be created at the site or per-user scope. To create a new site policy, use the prefix "site:" and the name of the site as your Identity. For example, use this syntax to create a new policy for the Redmond site:

-Identity site:Redmond

To create a new per-user policy, use an Identity similar to this:

-Identity SalesDepartmentPolicy

Note that you cannot create a new global policy; if you want to make changes to the global policy, use the Set-CsMobilityPolicy cmdlet instead. Likewise, you cannot create a new site or per-user policy if a policy with that Identity already exists. If you need to make changes to an existing policy, use Set-CsMobilityPolicy.




Enables administrators to provide explanatory text to accompany the policy. For example, the Description might include information about the users that the policy should be assigned to.




When set to True, users are allowed to use Lync 2010 Mobile.




When set to True, enables users to take advantage of Call via Work. When set to False, users cannot use Call via Work.

The default value is True.




Creates an object reference without actually committing the object as a permanent change. If you assign the output of a command called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet’s matching Set- cmdlet.




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




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




Prompts you for confirmation before executing the command.

None. New-CsMobilityPolicy does not accept pipelined input.

Creates new instances of the Microsoft.Rtc.Management.WriteableConfig.Policy.Mobility.Mobility object.

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

New-CsMobilityPolicy -Identity site:Redmond -EnableOutsideVoice $False

The command shown in Example 1 creates a new mobility policy for the Redmond site, and disables the use of Call via Work for any users affected by the policy. This is done by setting the EnableOutsideVoice parameter to False.

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

$x = New-CsMobilityPolicy -Identity site:Redmond -InMemory
$x.EnableOutsideVoice = $False
Set-CsMobilityPolicy -Instance $x

Example 2 demonstrates how you can create a new mobility policy in memory, modify a property value for that policy, and then use the Set-CsMobilityPolicy cmdlet to turn the virtual policy into an actual Lync Server mobility policy. To do this, the command first uses New-CsMobilityPolicy and the InMemory parameter to create a new policy for the Redmond site. Because the InMemory parameter causes this policy to exists in memory only, the resulting object must be stored in variable ($x).

In command 2, the EnableOutsideVoice property for the virtual policy is set to False. After that, command 3 uses Set-CsMobilityPolicy and the Instance parameter to write the changes to Lync Server and create a mobility policy for the Redmond site. If you do not call Set-CsMobilityPolicy, the policy will not be created, and, in fact, will disappear as soon as you end your Windows PowerShell session or delete the variable $x.