Edit

Share via


Test-CsIM

Tests the ability of two users to exchange instant messages. This cmdlet was introduced in Lync Server 2010.

Syntax

ClientPlatform

Test-CsIM
    [[-TargetFqdn] <String>]
    -ReceiverCredential <PSCredential>
    -ReceiverSipAddress <String>
    -SenderCredential <PSCredential>
    -SenderSipAddress <String>
    [-RegistrarPort <Int32>]
    [-Force]
    [-Verbose]
    [-OutVerboseVariable <String>]
    [-Authentication <AuthenticationMechanism>]
    [-EmailHost <String>]
    [-IsSsl <Boolean>]
    [-OutLoggerVariable <String>]
    [-Password <String>]
    [-Port <UInt16>]
    [-TestLegalIntercept]
    [-Username <String>]
    [-WaitSeconds <Int16>]
    [<CommonParameters>]

ServerPlatform

Test-CsIM
    [-TargetFqdn] <String>
    [-ReceiverSipAddress <String>]
    [-SenderSipAddress <String>]
    [-RegistrarPort <Int32>]
    [-Force]
    [-Verbose]
    [-OutVerboseVariable <String>]
    [-Authentication <AuthenticationMechanism>]
    [-EmailHost <String>]
    [-IsSsl <Boolean>]
    [-OutLoggerVariable <String>]
    [-Password <String>]
    [-Port <UInt16>]
    [-TestLegalIntercept]
    [-Username <String>]
    [-WaitSeconds <Int16>]
    [<CommonParameters>]

Description

The Test-CsIM cmdlet is an example of a Skype for Business Server "synthetic transaction." Synthetic transactions are used in Skype for Business Server to verify that users are able to successfully complete common tasks such as logging on to the system, exchanging instant messages, or making calls to a phone located on the public switched telephone network (PSTN). These tests can be conducted manually by an administrator, or they can be automatically run by an application such as Microsoft System Center Operations Manager (formerly Microsoft Operations Manager).

Synthetic transactions are typically conducted in two different ways. Many administrators will use the CsHealthMonitoringConfiguration cmdlets to set up test users for each of their Registrar pools. These test users are a pair of users who have been preconfigured for use with synthetic transactions. (Typically these are test accounts and not accounts that belong to actual users.) With test users configured for a pool, administrators can simply run a synthetic transaction against that pool without having to specify the identities of (and supply the credentials for) the user accounts involved in the test.

Alternatively, administrators can run a synthetic transaction using actual user accounts. For example, if two users are unable to exchange instant messages, an administrator can run a synthetic transaction using the two user accounts in question (as opposed to a pair of test accounts) to try to diagnose and resolve the problem. If you decide to conduct a synthetic transaction using actual user accounts you will need to supply credentials for each user.

The Test-CsIM cmdlet starts off by trying to log a pair of test users on to Skype for Business Server. Assuming the two logons are successful, the cmdlet then initiates an instant messaging (IM) session between the two test users. (User 1 invites User 2 to an IM session, and User 2 accepts the invitation.) After verifying that messages can be exchanged between the two users, the Test-CsIM cmdlet then ends the IM session and logs both users off of the system.

Examples

Example 1

Test-CsIm -TargetFqdn atl-cs-001.litwareinc.com

Example 1 checks to see if a pair of preconfigured test users can log on to the pool atl-cs-001.litwareinc.com and then exchange instant messages. This command will work only if test users have been defined for the pool atl-cs-001.litwareinc.com. If they have, then the command will determine whether the two users can log on to the system and, if so, can then exchange instant messages. I

If test users have not been defined, then the command will fail because it will not know which users to employ when doing the test. If you have not defined a Registrar for a pool, then you must include the SenderSipAddress and ReceiverSipAddress parameters, in addition to the corresponding credentials for the users involved in the IM session. TheTest-CsIM cmdlet will then conduct its checks by using the two specified users.

Example 2

$cred1 = Get-Credential "litwareinc\pilar"

$cred2 = Get-Credential "litwareinc\kenmyer"

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

The commands shown in Example 2 test the ability of a pair of users (litwareinc\pilar and litwareinc\kenmyer) to log on to Skype for Business Server and then exchange instant messages. To do this, the first command in the example uses the Get-Credential cmdlet to create a Windows PowerShell 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 will only require 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 two credential objects in hand, the third command in the example determines whether or not the two users can log on to Skype for Business Server and then exchange instant messages. To do this, the Test-CsIM 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 user); -ReceiverSipAddress (the SIP address for the other test user); and ReceiverCredential (the Windows PowerShell object containing the credentials for the other user).

Parameters

-Authentication

Applicable: Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

Type of authentication used in the test. Allowed values are:

TrustedServer

Negotiate

ClientCertificate

LiveID

Parameter properties

Type:AuthenticationMechanism
Default value:None
Supports wildcards:False
DontShow:False
Aliases:Ath

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-EmailHost

Applicable: Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

Email host for user employed in the Legal Intercept test. For example:

-EmailHost "litwareinc.com"

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Force

Applicable: Lync Server 2010, Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

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

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-IsSsl

Applicable: Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

When set to True, specifies that the test is being conducted using the Secure Socket Layer (SSL) protocol.

Parameter properties

Type:Boolean
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-OutLoggerVariable

Applicable: Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

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 use 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

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:olv

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-OutVerboseVariable

Applicable: Lync Server 2010, Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

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.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:ovv

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Password

Applicable: Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

Password for the employed in the Legal Intercept test.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Port

Applicable: Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

Port used for the Legal Intercept service.

Parameter properties

Type:UInt16
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ReceiverCredential

Applicable: Lync Server 2010, Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

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.

Parameter properties

Type:PSCredential
Default value:None
Supports wildcards:False
DontShow:False
Aliases:rc

Parameter sets

ClientPlatform
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ReceiverSipAddress

Applicable: Lync Server 2010, Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

SIP address for the first of the two user accounts to be tested. For example: -ReceiverSipAddress "sip:jhaas@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.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:ra

Parameter sets

ClientPlatform
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
ServerPlatform
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-RegistrarPort

Applicable: Lync Server 2010, Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

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

Parameter properties

Type:Int32
Default value:None
Supports wildcards:False
DontShow:False
Aliases:rp

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-SenderCredential

Applicable: Lync Server 2010, Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

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.

Parameter properties

Type:PSCredential
Default value:None
Supports wildcards:False
DontShow:False
Aliases:sc

Parameter sets

ClientPlatform
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-SenderSipAddress

Applicable: Lync Server 2010, Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

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.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:sa

Parameter sets

ClientPlatform
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
ServerPlatform
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-TargetFqdn

Applicable: Lync Server 2010, Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

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

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:t

Parameter sets

ClientPlatform
Position:2
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
ServerPlatform
Position:2
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-TestLegalIntercept

Applicable: Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

When used, instructs Test-CsIM to test the Legal Intercept service for the specified user.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Username

Applicable: Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

User name for the user employed in the Legal Intercept test.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-WaitSeconds

Applicable: Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

Specifies the amount of time (in seconds) that the system should wait for the Legal Intercept service to respond.

Parameter properties

Type:Int16
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

None

The Test-CsIM cmdlet does not accept pipelined input.

Outputs

Microsoft.Rtc.SyntheticTransactions.TaskOutput

The Test-CsIM cmdlet returns an instance of the Microsoft.Rtc.SyntheticTransactions.TaskOutput object.