Windows 7 / Getting Started

Introducing RD Session Host Management Tools

Windows Server 2008 R2 has a set of tools for managing user sessions: The Remote Desktop Services Manager GUI and command-line tools to supplement it and enable scripting. Before delving into their usage, let's take a quick tour so that you can see what's possible.

In short, most tools work for managing pooled and personal VMs as long as you're logged on to a session on an RD Session Host server to use the management tools. This tutorial covers these tools in terms of managing RD Session Host sessions, but understand that these processes will work for pooled and personal VMs, too, and the tutorial will note explicitly when they do not. However, be aware that the way you'll interact with a VM differs from how you'll interact with a session. For example, you might be checking an RD Session Host server to figure out if the amount of user sessions is causing a slowdown in user experience, but this would not be an issue for a pooled or personal VM.

The Remote Desktop Services Manager

Let's start by getting oriented. After you install the RDS role, the Remote Desktop Services Manager toolis accessible by browsing to Start, All Programs, Administrative Tools, Remote Desktop Services, and finally Remote Desktop Services Manager. Using this tool, you can

  • Display real-time data about current users, sessions, and processes
  • Monitor, disconnect, and reset sessions
  • View or interact with a user's session
  • Send messages to users
  • Terminate sessions and log off users

The left pane displays the available RD Session Host servers; by default, it will display only the server that you're currently logged on to, but you can add more. Although you can manage only one server at a time (you can't, for example, kill all instances of Sol.exe running in the farm from this tool), you can add more servers and even pooled and personal VMs. You'll learn about how to do this later in this tutorial, in the section entitled "Organizing Servers and VMs in the Remote Desktop Services Manager."

The center pane displays the information for the currently selected server, including connected users, the sessions on the server, and the processes running on the server. Some of this data might be redundant, as it's just different ways of displaying data about the people logged on to the RD Session Host server, what they're doing there, and which sessions are open. It's different ways of looking at the same data.

The right pane displays the context-sensitive actions that you can take depending on the item you've selected in the left or center panes.

The Users tab contains current data pertaining to the users connected to the RD Session Host server and the associated sessions, as shown in Table-1.

TABLE-1 Data on the Users Tab of the Remote Desktop Services Manager
DataDescription
ServerThe server that the user is logged onto
UserThe account name of the user who started the session
SessionThe session associated with the user
IDThe Session ID that the RD Session Host server uses to identify sessions; each Session ID is unique on its server
StateThe current state of the session (active, disconnected, reset, or idle)
Idle TimeThe number of minutes since the last keyboard stroke or mouse movement in the session
LogOnTimeThe date and time the user logged on

Much of the data located on the Sessions tab (see Table-2) mimics the data on the Users tab. However, the Sessions tab displays a few more session details, allowing you to view the protocol used to connect to the RD Session Host server (if applicable) and the names of the computers that users connect from (if the session is active).

TABLE-2 Data on the Sessions Tab of the Remote Desktop Services Manager
DataDescription
ServerThe RD Session Host server on which the session is running
SessionThe session type
UserThe user name associated with the session
IDThe number that identifies the session to the RD Session Host server
StateThe current state of the session (active, disconnected, reset, or idle)
TypeThe type of client used in the session (that is, RDP client or console connection)
Client NameThe name of the client that established the session
IdleTimeThe number of minutes since the last keyboard stroke or mouse movement in the session
LogonTimeThe date and time the user logged on
CommentAn optional field that isn't generally applicable because a user can't add a comment when connecting

The Processes tab (see Table-3) displays details about the processes currently running on each server, the associated sessions, and the users who invoked them.

TABLE-3 Data on the Processes Tab of the Remote Desktop Services Manager
DATA 		DESCRIPTION
Server 		The server on which the process is running
User 		The user account that started the process
Session 	The session number associated with the process
ID 		The ID that identifies the session to the RD
                Session Host server
PID 		The ID that identifies the process to the RD
                Session Host server
Image 		The executable associated with the process

The Remote Desktop Services Manager displays similar information in many different ways to support various starting points that you might take to gather needed information. For example, if user Kim Akers has a problem with a program freezing or otherwise misbehaving in her session, you can use the Processes tab to stop the process and be sure that you picked the instance that belongs to her. If Kim needs help with her session, you can highlight the root of the Remote Desktop Services Manager to find out which server she is logged on to, shadow her session, and assist her. Fundamentally, though, the information that you can get about sessions is pretty straightforward: which users are logged on, whether they're using their session, which applications they're running, and which RD Session Host server they're connected to.

When you understand what information you can get from the Remote Desktop Services Manager, you can answer many questions even if the GUI doesn't anticipate them. For example, you can find out how many users are logging on during a particular interval in the morning or how many people are using a particular application. Knowing either of these pieces of information, you can take appropriate action: end processes, terminate sessions, or connect to a user's session to help him or her out. Going outside the Remote Desktop Services Manager, you could even use the information you get here to prompt you to purchase more licenses or add more servers, just to meet increasing demand.

This tutorial will cover all the actions that you can perform using the Remote Desktop Services Manager. However, when you automate queries or changes, you'll want to know about the command-line tools and sometimes combine them with scripting such as Windows PowerShell or VBScript. Unfortunately, the GUI does not always refresh well, even in a small farm. To get the most reliable information about session status, the command-line tools might be more reliable.

[Contents] [Next]