Technology Through a Technocrats Eyes

Adventures in Tech

Microsoft RDP (remote desktop protocol) client options and tricks
Posted at: 2009-02-01 @ 21:12:29
Today's topic is RDP, microsoft's remote desktop protocol.
Any windows server guy will know well about RDP and will probably use it on a day to day bases to access servers.

RDP is a good implementation of a remote desktop program unlike VNC which is very laggy and slow. RDP still works well even on slow links, this is mainly made possible by actions being run in a virtual display space which are then sent back to the remote host, this gives rdp the feel that it quicker. It also doesn't bother tracking the mouse of the remote host and just inputs the mouse location and clicks to the best of my understanding.
But enough on how it works, that's for another topic. Today's topic is about the cool options the RDP client has.

Please note: This is written for RDP 6.0 and above. Version 6 comes with vista and can be downloaded for server 2003 and xp. Service pack 3 for XP also comes with the new verison.
Some of the below commands are supported with the older 5.x series

Clipboard copy, I work with dual monitors and work and I find that I regularly want to be able to copy a piece of text from my desktop machine to another machine via RDP.
To enable clipboard start the RDP client, go to options and then select the Local Resources tab.
Down the bottom you'll see group called Local Devices and Resources, on the left of this group there is a clipboard option.
NOTE: supported in version 6.x only

Drive mapping. This is one I've found a lot of people may not know! Its possible to share a drive on your machine into a remote machine over an RDP connection. This is very very useful on corporate networks where you need to get a file to a server and the only opened port is the RDP port (3389).
To enable drive mapping go to options, then Local Resources then down the bottom click the more button, then tick drives or select all of them. Also note that RDP 6.x will detect drives you connect later to your machine and dynamically map then into the system your remoted onto, which ROCKS!
Also note in version 5.x of the RDP client the drives checkbox can be found just under Local Resources.

For slow links. For those forced to have to use RDP over a slow line (such a 10KB/s link) there are a few options that can be enabled to really make an improvement. Infact I've found RDP at 10KB/s to be more than usable!
The first option to enable is 256bit colours by going to options, then display and setting colours.
The next options you can enable to speed up performance are found under the experience tab in options.
Unticking all the options except for Bitmap caching (which you should leave enabled) will give you the least bandwidth usage possible.


Console. If you RDP to a single user licensed such as an XP or Vista desktop by default you will get what is called the console connection. When you connect to console via RDP you won't be able to access that same machine via is hardware display and keyboard. For example if I RDP to my XP desk machine from another machine, I won't be able to also use that same machine from my desk.
This also applies to windows servers, however by default windows 2003 server allows two NON console RDP connections.
Another cool feature of RDP console connections is if someone else is logged onto the console port it will prompt you if you want to force log them off (assuming you have rights to), where as on one of the other server 2003 rdp connections you will be told that the server is full.
This is very handy if your accessing the server/machine in an emergency and its ok to kick anyone else using the console off without using tsadmin to log their sessions off.
To start console mode in RDP, to go start run and type: mstsc /console
The /console flag forces RDP to load up in console mode.

RDP ports and connecting to RDP servers on different ports
The default RDP client port is TCP port 3389 and no other ports should be required.
The RDP server can be changed from port 3389 to another port, setting up the server is outside the scope of this article, however connecting to a different port isn't.
If you had a RDP server running on port 443 then in the RDP client you'd type the following: serverYouWantToConnecTo:PORT
So to connect to a server running on port 443 at the IP address 10.1.2.3 you'd put the following in: 10.1.2.3:443


Modifying your default RDP settings
The default RDP settings for the version 7 of the RDP client are obtained from the Default.rdp file. This is a hidden file which is located in your my documents folder.
Opening this file in notepad will allow you custom change your default RDP settings, some of which you can't change via the GUI (at least to my knowledge).
Microsoft have a list of these options and what they do at http://support.microsoft.com/kb/885187.

I found recently a useful little trick to force your RDP settings not to change.
I logon to a terminal server to get onto the network of one of the networks I admin and from that TS box I remote to other servers, on the TS box I don't want my secondary RDP sessions (from the ts box to another server) to go full screen as then it becomes a real pain to switch between stuff I have open on the TS box and the RDP session.
I modified the desktopwidth and desktopheight values in the Default.rdp, however I don't want these values to be able to change and I discovered if I ever did logon full screen to a server it would reset back to full screen as the default.
I got around this by simple marking the Default.rdp file as read only in windows permissions.
A easy little trick that makes my life so much simpler day to day!

Thats all the regular RDP options I use, I'd love to hear your feedback if there are some others which you find super useful!

Caveman