Since most users who access Terminal Server environments do so from 32-bit Windows client devices, this is the client platform that Microsoft has spent the most effort on. In order to study the 32-bit Windows RDP clients, we'll look at the following areas:
Technical overview of the 32-bit remote desktop connection client.
The 32-bit Windows Remote Desktop Connection client is very sophisticated. This is the new name of what formerly was known as the "Terminal Server Client." As we mentioned earlier, though, most administrators still call this (and will probably forever call this) simply, the "RDP client."
Out of the box, Windows Server 2003 comes with version 5.2 of the Remote Desktop Connection client. This version is newer than the one that comes standard with Windows XP and newer than the one included in Service Pack 1 for Windows XP. However, there's no significant difference between the versions.
When you install Windows Server 2003, the installation files for the RDC client (version 5.2 of course) are automatically copied to the \Windows\System32\ clients\tsclient\win32 folder. You can use the msrdpcli.msi install package to load the RDC client onto any Microsoft 32-bit operating system dating back to Windows 95.
The installation of the RDC client is fairly straightforward. RDC client version 5.2's installation program automatically installs it to the \Program Files\ folder, and it only asks users for their names and for them to accept the license agreement. Otherwise the installation is almost silent.
Since it's a standard MSI package, you can easily change the default options you want or configure it for a silent install to be used with SMS or a logon script. (As you probably know, the "/q" switch will perform a silent installation of an MSI package.) The details of configuring MSIs for installation are outside the scope of this book; however, you can find good information by going to www.microsoft.com and doing a search for "Windows Installer."
In the real world, most people are content with the version 5.1 RDC clients that are built in to Windows XP. For new installations, however, you're always better off going with the newest version. Like all new software, there are two installation methods:
Electronic software distribution . Fortunately, the RDC client is a very simple MSI. You can actually generate a software distribution package directly from the command line. This package can easily be deployed with Microsoft Systems Management Server, Wise, or Altiris products. The only drawback to this method is that you need to have some form of software distribution product in place, although it's rare that environments of significant size don't have this already. Worst case, you can simply script a silent install and run it as a part of users' login scripts.
Manual installation .If you can't deploy the RDC client via with a software distribution product, you could always put it on a network share and have users manually install it. Alternately, since it's so small (less than 1MB), you could even email it to your users.
When a user fires up the actual Remote Desktop Connection client, the interface configures itself with several defaults. The only option you need to configure is the name of the server you want to connect to. The RDC client uses the default configuration information to set up the session and the virtual channels as soon as you hit the connect button.
If you want to change any of the session settings, disconnect from the session, make the changes to the client, and then reconnect with the new settings. There is no interface (as with previous Terminal Server clients) that allows you to save multiple configurations right in the application. Instead, the Remote Desktop Connection client allows you to save its current configuration as an RDP file. (Even the "default" client settings are saved in a hidden file called "default.rdp" in the root of each user's "My Documents" folder.)
As mentioned previously, an RDP file is simply a text file containing the information needed to make a connection based on settings you've specified in the GUI. This idea is based on the huge success of Citrix ICA file type which has been the cornerstone of their application launching mechanisms for the web for the last few years. Figure 10.2 shows the contents of a basic RDP file.
screen mode id:i:1 desktopwidth:i:800 desktopheight:i:600 session bpp:i:16 winposstr:s:2,3,0,0,648,507 full address:s:tsserver01 compression:i:1 keyboardhook:i:2 audiomode:i:0 redirectdrives:i:0 redirectprinters:i:1 redirectcomports:i:0 redirectsmartcards:i:1 displayconnectionbar:i:1 autoreconnection enabled:i:1 username:s: domain:s: alternate shell:s:C:\Program Files\Microsoft Of- fice\Office\winword.exe shell working directory:s:C:\Program Files\Microsoft Office\Office disable wallpaper:i:1 disable full window drag:i:1 disable menu anims:i:1 disable themes:i:0 disable cursor setting:i:0 bitmapcachepersistenable:i:1
As you can see, this file consists of a set of RDP options that are enabled (1) or disabled (0), along with the name of the server to which it's connecting (tsserver01) and the path for the executable (winword.exe).
The biggest limitation of the RDC client (and therefore also to using centrally-stored RDP files) is a security "feature." The RDC client does not have the ability to pass the credentials of the locally logged on user into the Terminal Server session. In addition, the RDP file stores any saved credentials in an encrypted format, meaning that they'll only work from the workstation on which they were created and log in as the user by which they were saved.
When using centrally-stored RDP files, your users will need to manually log on to the remote Windows session. When compared to the alternative (users manually configuring their own clients), RDP files don't seem that bad.
Creating RDP files for central deployment is easy.
To begin, launch the Remote Desktop Connection client (mstsc.exe).
Click the "Options" button to expand the client.
Configure the General tab with your required options. The computer can be the Terminal Server name or a DNS name if you're using load balancing.
Remove any user name or password entry fields and ensure that the "Save my password" option is not checked. Saved cached passwords will only work for the user that saved it on the machine where it was created, so there's no use for it when creating RDP files that will be shared among users.
Configure the Display Tab with your required options.
Configure the Local Resources Tab with your required options
Configure the Programs tab with your program path. Check the box that says "Start the following program on connection." The executable and working directory are the paths on the server, not the workstation. Place the path to the executable and its name in the appropriate fields.
Configure the Experience tab. For users connecting via the Internet, you shouldn't set the speed any higher than 56k, giving the user a good experience while still reducing the bandwidth required by the session.
Check the box "Reconnect if connection is dropped," allowing the Terminal Server client to automatically reconnect to the server if the network connection is dropped and the stream lost.
Return to the General Tab and save the connection with a recognizable name to create an RDP file with all of your connection information for that application.
Repeat this process as many times as necessary for each of your applications.
Chapters 5 and 9 focused on how your users could connect to your Terminal Servers. If you chose to have users connect to initial applications, then they'll need to launch their RDC client software with an RDP file. There are two ways to do this.
The first involves placing your customized RDP file on a network share. Then, add shortcuts to this centralized RDP file on your users' Start menus. This allows your users to launch the Terminal Server applications just as they would any other application since the RDP file type is associated with the locally installed RDC client. At the same time, since the RDP file is centralized, you can maintain control and easily update it.
Alternately, use command line options of the RDC client executable (mstsc.exe) to launch a connection based on information contained in an RDP file, such as:
There are several command line options for the RDC client. You can specify your screen size with "/w" and "/h" switches, or full screen with the "/f" switch. Administrators can also use the "/console" switch to connect directly to the server's console via RDP instead of connecting to a Terminal Server session.