Topic Last Modified: 2014-02-19

Creates a new collection of proxy configuration settings. This cmdlet was introduced in Lync Server 2010.

Syntax

New-CsProxyConfiguration -Identity <XdsIdentity> [-AcceptClientCompression <$true | $false>] [-AcceptServerCompression <$true | $false>] [-AllowPartnerPollingSubscribes <$true | $false>] [-Confirm [<SwitchParameter>]] [-DisableNtlmFor2010AndLaterClients <$true | $false>] [-DnsCacheRecordCount <UInt32>] [-EnableLoggingAllMessageBodies <$true | $false>] [-EnableWhiteSpaceKeepAlive <$true | $false>] [-Force <SwitchParameter>] [-InMemory <SwitchParameter>] [-LoadBalanceEdgeServers <$true | $false>] [-LoadBalanceInternalServers <$true | $false>] [-MaxClientCompressionCount <UInt32>] [-MaxClientMessageBodySizeKb <UInt32>] [-MaxKeepAliveInterval <UInt32>] [-MaxServerCompressionCount <UInt32>] [-MaxServerMessageBodySizeKb <UInt32>] [-OutgoingTlsCount <UInt32>] [-Realm <IRealmChoice>] [-RequestServerCompression <$true | $false>] [-TestFeatureList <String>] [-TestParameterList <String>] [-TreatAllClientsAsRemote <$true | $false>] [-UseCertificateForClientToProxyAuth <$true | $false>] [-UseKerberosForClientToProxyAuth <$true | $false>] [-UseNtlmForClientToProxyAuth <$true | $false>] [-WhatIf [<SwitchParameter>]]

Examples

EXAMPLE 1

Example 1 creates a new collection of proxy configuration settings for the service EdgeServer:atl-edge-001.litwareinc.com. These new settings use all the default proxy server property values except for two: RequestServerCompression, which is set to True; and MaxClientMessageBodySizeKb, which is set to 256. Note that this command will fail if proxy server settings have already been configured for the service EdgeServer:atl-edge-001.litwareinc.com.

Copy Code
New-CsProxyConfiguration -Identity "service:EdgeServer:atl-edge-001.litwareinc.com" -RequestServerCompression $True -MaxClientMessageBodySizeKb 256

EXAMPLE 2

The commands shown in Example 2 demonstrate how you can create a collection of proxy server settings that initially exist only in memory. To do this, the first command calls the New-CsProxyConfiguration cmdlet along with two parameters: Identity (which specifies the Identity for the settings) and InMemory, which indicates that the new settings should be created in memory only. The resulting object is stored in the variable $x.

After these virtual settings have been created, commands 2 and 3 are used to modify the values of the RequestServerCompression and MaxClientMessageBodySizeKb properties, respectively. Finally, command 4 is used to transform the virtual proxy server configuration settings into an actual collection of settings applied to the service EdgeServer:atl-edge-001.litwareinc.com. This final command is mandatory. If you do not call the Set-CsProxyConfiguration cmdlet, no settings will be applied to EdgeServer:atl-edge-001.litwareinc.com and the virtual settings will disappear as soon as you end your Windows PowerShell session or delete the variable $x.

Copy Code
$x = New-CsProxyConfiguration -Identity "service:EdgeServer:atl-edge-001.litwareinc.com" -InMemory
$x.RequestServerCompression = $True 
$x.MaxClientMessageBodySizeKb = 256
Set-CsProxyConfiguration -Instance $x

Detailed Description

Lync Server 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, 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. These new collections are created by using the New-CsProxyConfiguration cmdlet.

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

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Rtc.Management.Xds.XdsIdentity

Unique identifier for the proxy server configuration settings to be created. Proxy server configuration settings can only be created at the service scope, and only for the Edge Server and Registrar services. You cannot create settings at the global scope; likewise, you cannot create settings at the service scope if the service in question already hosts a collection of proxy server settings. For example, if the service Registrar:atl-cs-001.litwareinc.com already hosts proxy server settings, then any command that attempts to create new settings for that service will fail.

To specify the Identity for your new proxy server settings, use syntax similar to this: -Identity "service:Registrar:atl-cs-001.litwareinc.com".

AcceptClientCompression

Optional

System.Boolean

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

AcceptServerCompression

Optional

System.Boolean

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

AllowPartnerPollingSubscribes

Optional

System.Boolean

When set the True, partner applications are allowed to periodically poll the service for state changes. The default value is False ($False).

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command.

DisableNtlmFor2010AndLaterClients

Optional

System.Boolean

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

DnsCacheRecordCount

Optional

System.UInt32

Maximum number of records that can be maintained in the DNS record cache. The default value is 3000.

EnableLoggingAllMessageBodies

Optional

System.Boolean

When set to True, Microsoft Lync Server will log the actual content of all instant messages. For privacy reasons, message content is typically deleted and only information about the communicating endpoints is included in the log files.

The default value is False.

EnableWhiteSpaceKeepAlive

Optional

System.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.

Force

Optional

System.Management.Automation.SwitchParameter

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

InMemory

Optional

System.Management.Automation.SwitchParameter

Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet 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.

LoadBalanceEdgeServers

Optional

System.Boolean

When True, software load balancing is employed for requests to Edge Servers. The default value is True ($True).

LoadBalanceInternalServers

Optional

System.Boolean

When True, software load balancing is employed for requests to Registrars and other internal servers. The default value is true ($True).

MaxClientCompressionCount

Optional

System.UInt32

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

System.UInt32

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.

MaxKeepAliveInterval

Optional

System.UInt32

Specifies the amount of time (in minutes) that can elapse before the server verifies that the connection with the client is still valid. The default value is 20 minutes.

MaxServerCompressionCount

Optional

System.UInt32

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

System.UInt32

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

System.UInt32

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

Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.IRealmChoice

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

RequestServerCompression

Optional

System.Boolean

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

TestFeatureList

Optional

System.String

PARAMVALUE: String

TestParameterList

Optional

System.String

PARAMVALUE: String

TreatAllClientsAsRemote

Optional

System.Boolean

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

UseCertificateForClientToProxyAuth

Optional

System.Boolean

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

UseKerberosForClientToProxyAuth

Optional

System.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 realm than the server.

UseNtlmForClientToProxyAuth

Optional

System.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 true for Kerberos authentication.

WhatIf

Optional

System.Management.Automation.SwitchParameter

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

Input Types

None. The New-CsProxyConfiguration cmdlet does not accept pipelined input.

Return Types

The New-CsProxyConfiguration cmdlet creates new instances of the Microsoft.Rtc.Management.WritableConfig.Settings.SipProxy.ProxySettings object.

See Also