Managed Terminal Services::GetSessions

The method returns a list of the Terminal Services sessions on the specified server. By default the list is filtered to include only actual interactive user sessions.

Arguments

Input Arguments Required Description

<server>

Yes

The name of the server on which sessions are to be enumerated.

<preferredDomainController>

Yes

The name of the preferred domain controller to be used to check the permissions of the caller.

includeListeningSessions

No

Determines whether the output includes "listening sessions" (Terminal Services sessions with session IDs of 65536 or greater that do not represent actual interactive user sessions). Valid values are 'true', 'false', '1', and '0'. If not specified, listening sessions are omitted.

The output is a list of sessions on the specified server, with information about each session according the following structure:

Output Arguments Description

<sessions/session/user>

The logon name of the session user

<sessions/session/sessionName>

The name of the Terminal Services session

<sessions/session/sessionId>

The ID of the session (a 32-bit unsigned integer)

<sessions/session/connectState>

The state of the session, which will be one of the following strings:

  • WTSActive

  • WTSConnected

  • WTSConnectQuery

  • WTSShadow

  • WTSDisconnected

  • WTSIdle

  • WTSListen

  • WTSReset

  • WTSDown

  • WTSInit

Refer to https://msdn.microsoft.com/library/en-us/termserv/termserv/wts_connectstate_class_str.asp for documentation of the connectState values.

Remarks

Security

Permitted to DomainAdmins only

Sample Code

Example XML Request

<request> 
  <procedure> 
    <execute namespace="Managed Terminal Services" 
             procedure="GetSessions"> 
      <executeData> 
        <server>TheServer</server> 
        <preferredDomainController>dc1</preferredDomainController> 
      </executeData> 
    </execute> 
  </procedure> 
</request> 

Example XML Response

<response> 
  <executeData> 
    <server>TheServer</server> 
    <preferredDomainController>dc1</preferredDomainController> 
    <sessions> 
      <session> 
        <user>UserA</user> 
        <sessionName>Console</sessionName> 
        <sessionId>0</sessionId> 
        <connectState>WTSActive</connectState> 
      </session> 
      <session> 
        <user>UserB</user> 
        <sessionName>RDP-Tcp#2</sessionName> 
        <sessionId>2</sessionId> 
        <connectState>WTSActive</connectState> 
      </session> 
    </sessions> 
  </executeData> 
</response> 

Applies To

Terminal Services Namespace

See also

Tasks

Managed Terminal Services::ControlSession
Managed Terminal Services::SendSessionMessage