Voice test configurations are used to test a phone number against a specific voice policy, route, and dial plan. This cmdlet can be used to modify voice test configurations from a list containing all the voice test configurations for a Microsoft Lync Server 2010 deployment.

This cmdlet modifies an object of type VoiceConfiguration. This object is simply a container object for voice test configurations. Therefore, the use of this cmdlet is not recommended. To modify voice configurations, modify the individual voice test configurations by calling the Set-CsVoiceTestConfiguration cmdlet.

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

The scope of this object. The only value possible for this parameter is Global.

Instance

Optional

VoiceConfiguration

A reference to a voice configuration (Microsoft.Rtc.Management.WritableConfig.Policy.Voice.VoiceConfiguration) object. An object of this type can be retrieved by calling the Get-CsVoiceConfiguration cmdlet.

VoiceTestConfigurations

Optional

PSListModifier

A list of all voice test configurations (Microsoft.Rtc.Management.WritableConfig.Policy.Voice.TestConfiguration objects) defined for the Lync Server 2010 deployment.

You should modify individual voice test configuration objects by using the Set-CsVoiceTestConfiguration cmdlet. That is the recommended way of modifying configurations in this list.

Force

Optional

SwitchParameter

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

WhatIf

Optional

SwitchParameter

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

It takes several steps to modify a test voice configuration within a voice configuration. In this example, we start by retrieving the voice configuration object by calling Get-CsVoiceConfiguration. We assign the object retrieved (there will be only one) to the variable $a.

In line 2 of this example we retrieve the contents of the VoiceTestConfigurations property, which is a collection of voice test configuration objects, from variable $a. We then pipe that collection to the Where-Object cmdlet, where we search the collection for the voice test configuration object with a Name equal to the string TestConfig2. We assign that object to the variable $b.

Next, we modify the TestConfig2 voice test configuration object by assigning new values to the properties DialedNumber and ExpectedTranslatedNumber. By updating that object we’ve updated the object in variable $a. However, that object is still only in memory. As a final step, we need to save those changes by passing $a to the Instance parameter of Set-CsVoiceConfiguration.

This is not the recommended way of modifying a voice configuration. To modify a voice configuration, simply change the individual voice test configurations with the Set-CsVoiceTestConfiguration property, as shown here: