Topic Last Modified: 2013-12-13

Verifies whether or not a pair of users can exchange messages using the Persistent Chat service (formerly known as the Group Chat service). This cmdlet was introduced in Lync Server 2013.

Syntax

Test-CsPersistentChatMessage -TargetFqdn <String> [-Authentication <TrustedServer | Negotiate | ClientCertificate | LiveID>] [-ReceiverSipAddress <String>] [-RegistrarPort <Int32>] [-SenderSipAddress <String>] <COMMON PARAMETERS>
Test-CsPersistentChatMessage -ReceiverCredential <PSCredential> -ReceiverSipAddress <String> -SenderCredential <PSCredential> -SenderSipAddress <String> [-Authentication <TrustedServer | Negotiate | ClientCertificate | LiveID>] [-RegistrarPort <Int32>] [-TargetFqdn <String>] <COMMON PARAMETERS>
Test-CsPersistentChatMessage [-Authentication <TrustedServer | Negotiate | ClientCertificate | LiveID>] <COMMON PARAMETERS>
COMMON PARAMETERS: [-ChatRoomUri <String>] [-Force <SwitchParameter>] [-OutLoggerVariable <String>] [-OutVerboseVariable <String>] [-Setup <$true | $false>] [-TestUser1SipAddress <String>] [-TestUser2SipAddress <String>]

Examples

Example 1

The commands shown in Example 2 test the ability of a pair of users (litwareinc\pilar and litwareinc\kenmyer) to log on to Lync Server 2013 and then exchange messages using the Persistent Chat service. To do this, the first command in the example uses the Get-Credential cmdlet to create a Windows PowerShell command-line interface credential object containing the name and password of the user Pilar Ackerman. (Because the logon name, litwareinc\pilar, has been included as a parameter, the Windows PowerShell Credential Request dialog box only requires the administrator to enter the password for the Pilar Ackerman account.) The resulting credentials object is then stored in a variable named $cred1. The second command does the same thing, this time returning a credential object for the Ken Myer account.

With the credential objects in hand, the third command determines whether or not these two users can log on to Lync Server 2013 and exchange messages using Persistent Chat. To carry out this task, the Test-CsPersistentChatMessage cmdlet is called, along with the following parameters: TargetFqdn (the FQDN of the Registrar pool); SenderSipAddress (the SIP address for the first test user); SenderCredential (the Windows PowerShell object containing the credentials for this same user); ReceiverSipAddress (the SIP address for the other test user); and ReceiverCredential (the Windows PowerShell object containing the credentials for the other test user).

Copy Code
$cred1 = Get-Credential "litwareinc\pilar"
$cred2 = Get-Credential "litwareinc\kenmyer"

Test-CsPersistentChatMessage -TargetFqdn atl-persistentchat-001.litwareinc.com -SenderSipAddress "sip:pilar@litwareinc.com" -SenderCredential $cred1 -ReceiverSipAddress "sip:kenmyer@litwareinc.com" -ReceiverCredential $cred2

Detailed Description

The Test-CsPersistentChatMessage cmdlet verifies that a pair of test users is able to exchange messages using the Persistent Chat service. To do this, the cmdlet logs the two users on to Lync Server 2013, connects the users to a persistent Chat room, exchanges a pair of messages, then exits the chat room and logs off the two users. Note that calls to this cmdlet will fail if you have not created any chat rooms or if the two test user accounts have not been assigned a Persistent Chat policy that gives them access to the Persistent Chat service.

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 "Test-CsPersistentChatMessage"}

Lync Server Control Panel: The functions carried out by the Test-CsPersistentChatMessage cmdlet are not available in the Lync Server Control Panel.

Parameters

Parameter Required Type Description

ReceiverCredential

Required

PSCredential

User credential object for the first of the two user accounts to be tested. The value passed to ReceiverCredential should be an object reference obtained by using the Get-Credential cmdlet. For example, this code returns a credentials object for the user litwareinc\pilar and stores that object in a variable named $y:

$y = Get-Credential "litwareinc\pilar"

You need to supply the user password when running this command.

The receiver credential is not required if you are running the test under the health monitoring configuration settings for the pool.

SenderCredential

Required

PSCredential

User credential object for the second of the two user accounts to be tested. The value passed to SenderCredential should be an object reference obtained by using the Get-Credential cmdlet. For example, this code returns a credentials object for the user litwareinc\kenmyer and stores that object in a variable named $x:

$x = Get-Credential "litwareinc\kenmyer"

You need to supply the user password when running this command.

The sender credential is not required if you are running the test under the health monitoring configuration settings for the pool.

TargetFqdn

Required

String

Fully qualified domain name (FQDN) of the Registrar pool to be tested.

Authentication

Optional

SipSyntheticTransaction AuthenticationMechanism

Type of authentication used when running the test. Allowed values are:

* TrustedServer

* Negotiate

* ClientCertificate

* LiveID

ChatRoomUri

Optional

String

Chat room location, consisting of the fully qualified domain name of the Persistent Chat Server and the name of the chat room. For example:

-ChatRoomIdentity "atl-persistentchat-001.litwareinc.com\ITChatRoom"

Force

Optional

SwitchParameter

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

OutLoggerVariable

Optional

String

When present, detailed output from running the cmdlet will be stored in the specified variable. This variable includes a pair of methods – ToHTML and ToXML – that can then be used to save that output to either an HTML or an XML file.

To store output in a logger variable named $TestOutput use the following syntax:

-OutLoggerVariable TestOutput

Note: Do not prepend a $ character when specifying the variable name.

To save the information stored in the logger variable to an HTML file, use a command similar to this:

$TestOutput. ToHTML() > C:\Logs\TestOutput.html

To save the information stored in the logger variable to an XML file, use a command similar to this:

$TestOutput. ToXML() > C:\Logs\TestOutput.xml

OutVerboseVariable

Optional

String

When present, detailed output from running the cmdlet will be stored in the specified variable. For example, to store output in a variable named $TestOutput use the following syntax:

-OutVerboseVariable TestOutput

Do not prepend a $ character when specifying the variable name.

ReceiverSipAddress

Optional

String

SIP address for the first of the two user accounts to be tested. For example:

-ReceiverSipAddress "sip:pilar@litwareinc.com"

The ReceiverSIPAddress parameter must reference the same user account as ReceiverCredential.

The SIP address is not required if you are running the test under the health monitoring configuration settings for the pool.

RegistrarPort

Optional

Int32

SIP port used by the Registrar service. This parameter is not required if the Registrar uses the default port 5061.

SenderSipAddress

Optional

String

SIP address for the second of the two user accounts to be tested. For example:

-SenderSipAddress "sip:kenmyer@litwareinc.com"

The SenderSipAddress parameter must reference the same user account as SenderCredential.

The SIP address is not required if you are running the test under the health monitoring configuration settings for the pool.

Setup

Optional

Boolean

Enables the cmdlet to be run on a watcher node computer that does not have access to the Lync Server topology. To allow for this, first run the Test-CsPersistentChatMessage along with the Setup parameter from a computer which does have access to the topology. After that, you will be able to run the cmdlet on your watcher node computers.

If you use the Setup parameter you must also use the TestUser1SipAddress and TestUser2SipAddress parameters.

TestUser1SipAddress

Optional

String

SIP address of the first test user used in conjunction with the Setup parameter.

TestUser2SipAddress

Optional

String

SIP address of the second test user used in conjunction with the Setup parameter.

Input Types

None. The Test-CsPersistentChatMessage cmdlet does not accept pipelined input.

Return Types

The Test-CsPersistentChatMessage cmdlet returns instances of the Microsoft.Rtc.SyntheticTransactions.TaskOutput object.

See Also