Topic Last Modified: 2012-03-23

Returns information about the voice normalization rules used in your organization. Voice normalization rules convert telephone dialing requirements (for example, dialing 9 to access an outside line) to the E.164 phone number format used by Microsoft Lync Server 2010.

Get-CsVoiceNormalizationRule [-Identity <XdsIdentity>] [-LocalStore <SwitchParameter>]
Get-CsVoiceNormalizationRule [-Filter <String>] [-LocalStore <SwitchParameter>]

This cmdlet returns a named voice normalization rule or a collection of voice normalization rules. These rules are a required part of phone authorization and call routing. They define the requirements for converting--or translating--numbers from an internal Lync Server 2010 format to a standard (E.164) format. An understanding of regular expressions is helpful in order to define number patterns that will be translated.

The same rules accessed by this cmdlet can also be accessed through the NormalizationRules property returned by a call to the Get-CsDialPlan cmdlet.

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


Parameter Required Type Description




A unique identifier for the rule. If a value is specified for this parameter, it must be in the format scope/name; for example, site:Redmond/Rule1, where site:Redmond is the scope and Rule1 is the name.




Uses wildcard strings to return a collection of normalization rules based on Identity. Note that Filter works only on the scope portion of the Identity, not on the name. For example, the filter value *lob* will return all rules at the global scope (scopes that contain the letters lob), but not a rule with the identity site:Redmond/lobby, where lob is only in the name portion of the identity, not the scope.




Retrieves the voice normalization rule from the local replica of the Central Management store, rather than the Central Management store itself.

Get-CsVoiceNormalizationRule returns instances of the Microsoft.Rtc.Management.WritableConfig.Policy.Voice.NormalizationRule object.

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


This example retrieves all voice normalization rules defined for the organization.

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

Get-CsVoiceNormalizationRule -Filter site*

Example 2 retrieves all voice normalization rules specified for all sites.

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

Get-CsVoiceNormalizationRule -Filter *s*

Example 3 retrieves all voice normalization rules with the letter s anywhere in the scope. For example, this will return all site- and service-level rules, as well as per-user rules with an s in the scope name, such as RedmondEastUsers.

-------------------------- Example 4 --------------------------

Get-CsVoiceNormalizationRule | Where-Object {$_.Name -match "seattle"}

The Filter parameter used in Examples 2 and 3 matches only on the scope portion of the Identity. This example performs a match on the name portion to return all rules with a Name containing the string "seattle". To do this, we first call Get-CsVoiceNormalizationRule to retrieve all the normalization rules for the organization. We then pipe this collection to the Where-Object cmdlet to find all the items in the collection where the Name property matches the string "seattle".