[THIN] Link Pick: How to create an RDP file

  • From: "Jim Kenzig http://ThinHelp.com" <jkenzig@xxxxxxxxx>
  • To: thin@xxxxxxxxxxxxx
  • Date: Thu, 26 Jan 2006 07:45:28 -0800 (PST)

This is a good page with descriptions of the parameters that can be added to an 
RDP file. Of specific use is the connect to console setting which Microsoft 
seems to have forgotten to add to the GUI. Instead of typing the command line 
switch all the time you can add it to your RDP file. 
RDP File Settings
The new Terminal Services client (version 2600 and newer, 5.1.2600.x) 
introduces quite a few new capabilities.  A major client-side convenience is 
that connection settings can be saved in an RDP file which can then be easily 
edited, copied, and distributed.
    Unfortunately, the parameters are not nearly as well documented as the 
ActiveX control parameters yet; this will presumably change before the .NET 
server release.
  In the interim, I've put together a summary of information I have about the 
parameters contained in the files.
Which Terminal Services/Remote Desktop Client?
The newest ones, versions 5.1.2600.x and up.  The client can be downloaded from 
the Remote Desktop Connection page - and despite the header, it is the client 
to use for connecting to either Terminal Services or XP Remote Desktop.
  You can install it on any true 32-bit Windows OS except Windows XP and .NET - 
they already come with their own version. 

  Making an RDP File
  You can create an RDP connection file using a text editor; there is nothing 
special about its structure to prevent this; in fact, the Terminal Services 
people appear to have been assiduous about making it simple and easy to use; 
the order in which parameters are placed doesn't even matter.
  The simplest way to do it initially, though, is to run the mstsc client, 
configure basic settings you want, then choose "Save As..." on the General tab. 
 You can then open the resulting file in Notepad and work with it.

RDP File Structure
  The file structure is relatively simple. The standard file consists of 
several lines; each has parameter name, type, and value, separated by a ":".  
Any colons after the second one appear to be ignored (necessary so that file 
paths can be embedded).  MSTSC also appears to silently ignore anything it 
cannot parse, so you can insert freeform comments into the file.
  For example, here are two lines which tell MSTSC to establish a 1024x768 
desktop when it connects:
  The first element in each line is the parameter name.  Immediately following 
it, after the first colon, is the parameter type; as far as I can tell, there 
are only 3 types of values -
i (integer) This is used for numeric values such as the desktop resolutions 
above.  All  of the "on-off" values are integers; this may be to allow future 
expansion of value types, since some - such as audio redirection and keyboard 
hooking - actually have multiple values.   
s (string) Almost everything which is not a pure integer.  This includes paths 
and server names   
b (binary) apparently only used for hashed password storage  RDP File 
Parameters  Below is a table listing all of the parameters I have encountered 
so far.  I list the parameter name, type, an example value, and then include 
notes on usage where possible.
        Parameter     Value  Notes    alternate shell   s   
c:\winnt\system32\notepad.exe    Sets the shell to be used within the Terminal 
Services session. This can be used to set an alternate shell such as 
progman.exe; you can also use it to set the application which the user runs on 
logon to the Terminal Server.     audiomode   i   2   Known values:
0 - Bring to this computer
1 - Leave at remote computer
2 - Do not play     auto connect   i   0   0 or 1     autoreconnection enabled  
 i   1   Set to 1 to connect automatically when file is opened.     
bitmapcachepersistenable   i   1   ? 1 maintains bitmap cache between sessions  
   compression   i   1   ? 1 means use extra compressions     connect to 
console  i  1  0 - connect to a virtual session
1 - connect to the console session    desktopheight   i   768   height of 
session desktop in pixels     desktopwidth   i       width of session desktop 
in pixels     disable cursor setting   i   0   ?     disable full window drag   
i   1   set to 1, disables display of window contents while dragging in session 
    disable menu anims   i   1   set to 1, disables menu animations in session  
   disable themes   i   1   set to 1, disables use of themes in session     
disable wallpaper   i   1   set to 1, disables display of wallpaper in session  
   displayconnectionbar   i   1   Set to 1, displays the connection bar in a 
fullscreen session     domain   s   HQ   domain name to use for logon     full 
address   s   IP address/name of server (and optional 
alternate port)    keyboardhook   i   2   For applying standard Windows key 
0 - On the local computer
1 - On the remote computer
2 - In fullscreen mode only     maximizeshell   i   0   set to 1, maximizes any 
alternate shell used in the session     password 51   b    (big long binary 
hash)   Ifyou choose to save the connection password, this will be a large 
binary hash value     port  i  3389       redirectcomports   i   1   set to 1, 
redirects client COM ports in session (XP/.NET only)     redirectdrives   i   1 
  set to 1, redirects client drives in session (XP/.NET only)     
redirectprinters   i   1   set to 1, redirects client printers in session     
redirectsmartcards   i   1   set to 1, redirects client smart cards in session 
(XP/.NET only)     screen mode id   i   1   FullScreen vs. normal
0 - ?
1 - windowed
2 - fullscreen     server port  i  3389  You can specify the port separately 
from the "full address" parameter.  Thanks to James from acmewidgets.com for 
finding this out!    session bpp   i   16   bit depth for session - 8, 16, or 
24. Only 8 is valid for Windows 2000 Terminal Servers     shell working 
directory   s   c:\program files\microsoft office   Working directory if an 
alternate shell was specified.     smart sizing   i       Scale the client 
window display of desktop when resizing
0 or not present - Do not scale
1 - Scale (Takes extra resources to scale)     username   s   administrator   
name of user logging on     winposstr  s  0,1,0,249,808,876   ? Not sure about 
the details on this one.  There are always 6 comma-separated values.  I would 
guess that these are presets for position and "window mode" sizes - maximized 
versus sized.  An Example RDP File  This is an example RDP connection file. It 
starts maximized for its desktop size (800x600); color depth is 16-bit; it will 
attempt to automatically start connecting to on launch; and so 
screen mode id:i:1  desktopwidth:i:800  desktopheight:i:600  session bpp:i:16  
auto connect:i:1  full address:s:  compression:i:1  
keyboardhook:i:2  audiomode:i:2  redirectdrives:i:0  redirectprinters:i:0  
redirectcomports:i:0  redirectsmartcards:i:0  displayconnectionbar:i:1  
username:s:Administrator  domain:s:AKA  alternate shell:s:  shell working 
directory:s:  disable wallpaper:i:1  disable full window drag:i:1  disable menu 
anims:i:1  disable themes:i:1  bitmapcachepersistenable:i:1

Jim Kenzig 
CEO The Kenzig Group
Sponsorships Available!
Blog: http://www.techblink.com
Terminal Services Downloads: http://www.thinhelp.com
Windows Vista: http://www.VistaPop.com
Virtualization: http://www.virtualize-it.com
Games: http://www.stressedpuppy.com

Other related posts:

  • » [THIN] Link Pick: How to create an RDP file