Topic Last Modified: 2010-10-01

Creates a new server application. Server applications are applications that are hosted by Microsoft Lync Server 2010.

Syntax

New-CsServerApplication -Identity <XdsIdentity> -Uri <String> [-Confirm [<SwitchParameter>]] [-Critical <$true | $false>] [-Enabled <$true | $false>] [-Force <SwitchParameter>] [-InMemory <SwitchParameter>] [-Priority <Int32>] [-ScriptName <String>] [-WhatIf [<SwitchParameter>]]
New-CsServerApplication -Name <String> -Parent <String> -Uri <String> [-Confirm [<SwitchParameter>]] [-Critical <$true | $false>] [-Enabled <$true | $false>] [-Force <SwitchParameter>] [-InMemory <SwitchParameter>] [-Priority <Int32>] [-ScriptName <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Xds Identity

Unique identifier for the server application to be created. Server application Identities are composed of the service where the application is hosted plus the application name. For example, the server application named QoEAgent might have an Identity similar to this: service:Registrar:atl-cs-001.litwareinc.com/QoEAgent.

Parent

Required

String

Specifies the service that will host the new server application. If you use the Identity parameter, then you do not need to use either the Parent or the Name parameters; that’s because the application Identity combines the values of the Parent and Name properties. However, you can omit the Identity parameter by using the Parent and Name parameters instead. In that case, the Parent parameter would need to look something like this: -Parent "Registrar:atl-cs-001.litwareinc.com".

Name

Required

String

Friendly name for the service. If you use the Identity parameter you do not need to include the Name parameter when creating a new service; instead, the Name property will be populated using the name portion of the application Identity. For example, if you create a new application with the Identity service:Registrar:atl-cs-001.litwareinc.com/TestService the application will automatically be named TestService. The Name parameter is required only if you use the Parent parameter.

Uri

Required

String

Unique Uniform Resource Identifier (URI) for the application. For example, the QoEAgent application has the URI http://www.microsoft.com/LCS/QoEAgent.

Enabled

Optional

Boolean

Set this value to True to enable the application. Set the value to False to disable the application. If this parameter is not specified the Enabled property will be set to False and the new application will be disabled.

Critical

Optional

Boolean

If set to True, then Lync Server will not start unless the application in question can be started. If False, then Lync Server will start regardless of whether or not the application can be started. If this parameter is not specified the Critical property will be set to True.

ScriptName

Optional

String

Path to the Microsoft SIP Processing Language (MSPL) script used by the application (if applicable). MSPL is a scripting language used for filtering and routing SIP messages.

Priority

Optional

Integer

Indicates the order of execution for server applications. The application with priority 0 is started first; the application with priority 1 is started second; and so on. Note that each service that hosts a server application has its own unique set of priorities. For example, the Registrar service might host three applications with corresponding priorities 0, 1, and 2. Similarly, the Edge Server service might have four applications; these applications will have the priorities 0, 1, 2, and 3.

If you do not specify a priority then the application will automatically be added to the bottom of the priority list. If you add or remove an application the priorities of the other applications will be adjusted accordingly. For example, if you delete an application that has a priority of 0 then the application that previously had the priority 1 will automatically have its priority set to 0.

InMemory

Optional

Switch Parameter

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.

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

Prompts you for confirmation before executing the command.

Detailed Description

Server applications refer to the individual programs that run under Microsoft Lync Server 2010. The New-CsServerApplication cmdlet provides a way for administrators to configure new server applications.

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

Input Types

None. New-CsServerApplication does not accept pipelined input.

Return Types

New-CsServerApplication creates new instances of the Microsoft.Rtc.Management.WritableConfig.Settings.ServerApplication.Application object.

Example

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

Copy Code
New-CsServerApplication -Identity "EdgeServer:atl-edge-001.litwareinc.com/EdgeMonitor" -Uri http://www.litwareinc.com/edgemonitor -Critical $False

Example 1 creates a new server application with the Identity EdgeServer:atl-edge-001.litwareinc.com/EdgeMonitor. In addition to specifying the Identity, the parameters Uri and Critical are included; these parameters are used to specify the application URI and to indicate the application is not considered critical.

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

Copy Code
$x = New-CsServerApplication -Identity "EdgeServer:atl-edge-001.litwareinc.com/EdgeMonitor" -InMemory
$x.Uri = "http://www.litwareinc.com/edgemonitor"
$x.Critical = $False
Set-CsServerApplication -Instance $x

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

After this virtual server application has been created, commands 2 and 3 are used to modify the values of the Uri and Critical properties, respectively. Finally, command 4 is used to transform the virtual server application into an actual server application. Note that this final command is mandatory. If you do not call Set-CsServerApplication, no application will be configured for EdgeServer:atl-edge-001.litwareinc.com/EdgeMonitor, and the virtual application will disappear as soon as you end your Windows PowerShell session or delete the variable $x.

See Also