Topic Last Modified: 2010-10-01

Modifies an existing collection of proxy server configuration settings.

Syntax

Set-CsProxyConfiguration [-Identity <XdsIdentity>] [-AcceptClientCompression <$true | $false>] [-AcceptServerCompression <$true | $false>] [-Confirm [<SwitchParameter>]] [-DisableNtlmFor2010AndLaterClients <$true | $false>] [-DnsCacheRecordCount <UInt32>] [-EnableWhiteSpaceKeepAlive <$true | $false>] [-Force <SwitchParameter>] [-MaxClientCompressionCount <UInt32>] [-MaxClientMessageBodySizeKb <UInt32>] [-MaxServerCompressionCount <UInt32>] [-MaxServerMessageBodySizeKb <UInt32>] [-OutgoingTlsCount <UInt32>] [-Realm <IRealmChoice>] [-RequestServerCompression <$true | $false>] [-TreatAllClientsAsRemote <$true | $false>] [-UseCertificateForClientToProxyAuth <$true | $false>] [-UseKerberosForClientToProxyAuth <$true | $false>] [-UseNtlmForClientToProxyAuth <$true | $false>] [-WhatIf [<SwitchParameter>]]
Set-CsProxyConfiguration [-AcceptClientCompression <$true | $false>] [-AcceptServerCompression <$true | $false>] [-Confirm [<SwitchParameter>]] [-DisableNtlmFor2010AndLaterClients <$true | $false>] [-DnsCacheRecordCount <UInt32>] [-EnableWhiteSpaceKeepAlive <$true | $false>] [-Force <SwitchParameter>] [-Instance <PSObject>] [-MaxClientCompressionCount <UInt32>] [-MaxClientMessageBodySizeKb <UInt32>] [-MaxServerCompressionCount <UInt32>] [-MaxServerMessageBodySizeKb <UInt32>] [-OutgoingTlsCount <UInt32>] [-Realm <IRealmChoice>] [-RequestServerCompression <$true | $false>] [-TreatAllClientsAsRemote <$true | $false>] [-UseCertificateForClientToProxyAuth <$true | $false>] [-UseKerberosForClientToProxyAuth <$true | $false>] [-UseNtlmForClientToProxyAuth <$true | $false>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Xds Identity

Unique identifier for the proxy server configuration settings to be modified. To modify the global settings, use this syntax: -Identity global. To modify settings configured at the service scope, use syntax similar to this: -Identity "service: EdgeServer:atl-edge-001.litwareinc.com".

If this parameter is not included, Set-CsProxyConfiguration will automatically modify the global settings.

Instance

Optional

ProxySettings object

Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values.

AcceptClientCompression

Optional

Boolean

When set to True (the default value), the proxy server will accept all incoming compression requests from client endpoints.

AcceptServerCompression

Optional

Boolean

When set to True (the default value), the proxy server will accept all incoming compression requests from other servers.

DisableNTLMFor2010AndLaterClients

Optional

Boolean

When set to True, users logging on from Microsoft Lync 2010 must use the Kerberos protocol for authentication. The default value is False.

EnableWhiteSpaceKeepAlive

Optional

Boolean

When set to True (the default value) the proxy server expects clients to periodically send a "whitespace message" (an empty message with no content) to indicate that the connection is still active.

MaxClientCompressionCount

Optional

Integer

Indicates the maximum number of client-to-server connections that can be compressed at any given time; additional connections beyond this limit will not be compressed. The compression count can be set to any integer value between 0 and 65535, inclusive. The default value is 15000.

MaxClientMessageBodySizeKB

Optional

Integer

The maximum-allowed size (in kilobytes) for the body of a message sent from a client endpoint. The default value is 128, meaning that messages with a body size larger than 128 KB will be rejected. The client message body size can be set to any integer value between 64 and 256, inclusive.

MaxServerCompressionCount

Optional

Integer

Indicates the maximum number of server-to-server connections that can be compressed at any given time; additional connections beyond this limit will not be compressed. The server compression count can be set to any integer value between 0 and 65535, inclusive. The default value is 1024.

MaxServerMessageBodySizeKB

Optional

Integer

The maximum-allowed size (in kilobytes) for the body of a message sent from another server. The default value is 5000, meaning that messages with a body size larger than 5000 KB will be rejected. The server message body size can be set to any integer value between 1000 and 20000, inclusive.

OutgoingTLSCount

Optional

Integer

Specifies the maximum number of Transport Layer Security (TLS) connections that can be used for each internal server. The minimum number of TLS connections is 1, and the maximum number is 4. By default, OutgoingTlsCount is set to 4.

Realm

Optional

SipProxy object

Indicates whether or not security credentials are processed by the default proxy server realm (SIP Communication Services) or by a custom realm. Custom realms must be specified (and created) by using the New-CsSipProxyCustom cmdlet.

RequestServerCompression

Optional

Boolean

When set to True (the default value) the proxy server requests that compression be used on all outgoing connections to other servers.

TreatAllClientsAsRemote

Optional

Boolean

When set to True, the proxy server functions as if all client connections are external connections that pass through the Edge Server. The default value is False.

UseCertificateForClientToProxyAuth

Optional

Boolean

When set to True (the default value), client endpoints will be allowed to use certificates for authentication.

UseKerberosForClientToProxyAuth

Optional

Boolean

When set to True (the default value), client endpoints will be allowed to use the Kerberos protocol for authentication. Although Kerberos is a more secure protocol than NTLM, it cannot be used if the client belongs to a different domain than the server.

UseNtlmForClientToProxyAuth

Optional

Boolean

When set to True (the default value), client endpoints will be allowed to use the NTLM protocol for authentication. Although NTLM is a less secure protocol than Kerberos, NTLM can be used if the client belongs to a different domain than the server. That is not the case with Kerberos authentication.

Force

Optional

Switch Parameter

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

WhatIf

Optional

Switch Parameter

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

Confirm

Optional

Switch Parameter

Prompts you for confirmation before executing the command.

Detailed Description

Microsoft Lync Server 2010 enables you to manage your proxy servers through proxy server configuration settings. These settings, which can be applied at both the global scope and the service scope (albeit for only the Edge Server and Registrar services) enable you to control such things as the authentication protocols that can be used by client endpoints and whether or not compression will be used on incoming and outgoing proxy server connections. When you install Lync Server 2010, a global collection of proxy server configuration settings is automatically created for you. As noted, you can also create additional collections at the service scope.

The Set-CsProxyConfiguration cmdlet provides a way for you to modify the property values of an existing collection of proxy server configuration settings.

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

Input Types

Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.ProxySettings object. Set-CsProxyConfiguration accepts pipelined instances of the proxy settings object.

Return Types

Set-CsProxyConfiguration does not return a value or object. Instead, the cmdlet configures instances of the Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.ProxySettings object.

Example

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

Copy Code
Set-CsProxyConfiguration -Identity service:EdgeServer:atl-edge-001.litwareinc.com -AcceptServerCompression $True

In Example 1, the proxy configuration settings that have the Identity service:EdgeServer:atl-edge-001.litwareinc.com are modified to accept server compression. This is done by calling Set-CsProxyConfiguration and the AcceptServerCompression parameter, and by setting the parameter value to True.

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

Copy Code
Get-CsProxyConfiguration | Where-Object {$_.AcceptServerCompression -eq $True} | Set-CsProxyConfiguration -AcceptClientCompression $True

The preceding command locates all of the proxy configuration settings that accept server compression, and then modifies these settings to accept client compression as well. To do this, the command first calls Get-CsProxyConfiguration without any parameters in order to return a collection of all the proxy settings in use in the organization. This collection is then piped to the Where-Object cmdlet, which picks out only those settings where the AcceptServerCompression property is equal to True. The filtered collection is then piped to Set-CsProxyConfiguration, which takes each item in the collection and sets the AcceptClientCompression property to True.

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

Copy Code
Get-CsProxyConfiguration -Filter service:* | Set-CsProxyConfiguration -UseNtlmForClientToProxyAuth $False

Example 3 shows how you can modify all of the proxy settings that have been configured at the service scope. In order to do this, the command first calls Get-CsProxyConfiguration and includes the Filter parameter; the filter value "service:*" ensures that only settings that have an Identity that begins with the string value "service:" are returned. The filtered collection is then piped to Set-CsProxyConfiguration, which takes each item in the collection and sets the UseNtlmForClientToProxyAuth property to False.

See Also