转自:http://engrmosaic.uncc.edu/mosaic-anywhere/remote-desktop-file-format

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.

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:

desktopheight:i:768
desktopwidth:i:1024

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

192.168.1.1:33389

IP address/name of server (and optional alternate port)

keyboardhook

i

2

For applying standard Windows key combinations
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.

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 192.168.1.12 on launch; and so on...

screen mode id:i:1
desktopwidth:i:800
desktopheight:i:600
session bpp:i:16
auto connect:i:1
full address:s:192.168.1.12
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

 

Remote Desktop File Format的更多相关文章

  1. Connect to a Windows PC from Ubuntu via Remote Desktop Connection

    http://www.7tutorials.com/connecting-windows-remote-desktop-ubuntu A useful feature of Windows is be ...

  2. 使用ubuntu远程连接windows, Connect to a Windows PC from Ubuntu via Remote Desktop Connection

    from: https://www.digitalcitizen.life/connecting-windows-remote-desktop-ubuntu NOTE: This tutorial w ...

  3. Azure Remote Desktop: "An error occurred while loading from file *.rdp"

    Tonight I deployed a new cloud service where I needed remote desktop to check on some things. After ...

  4. Remote Desktop Connection Manager

    通过Remote Desktop Connection Manager(RDCMan),当前最新版本是 v2.7. 通过这款软件,我们便可以轻松的管理和访问数个RDP.左边的列表中我们可以创建总的分区 ...

  5. Windows组件:打开MSDTC,恢复Windows TaskBar,查看windows日志,打开Remote Desktop,打开Services,资源监控

    一,Win10 打开 MSDTC 1,Win+R 打开运行窗口,输入 dcomcnfg,打开组件服务窗口 2,在组件服务 catalog下找到 Distributed Transaction Coor ...

  6. Remote Desktop Connection Manager (RDCMan)

    当前最新版本是 v2.7. 通过这款软件,我们便可以轻松的管理和访问数个RDP.左边的列表中我们可以创建总的分区列表(即 RDCMan Group),该列表保存采用的是RDG扩展名,使用时通过&quo ...

  7. VMWare File Format Learning && Use VHD File To Boot VMWare && CoreOS Docker Configuration And Running

    目录 . Virtual Machine Introduce . Vmware Image File Format . VHD File Format . Convert VHD File Into ...

  8. Running a Remote Desktop on a Windows Azure Linux VM (远程桌面到Windows Azure Linux )-摘自网络(试了,没成功 - -!)

                              A complete click-by-click, step-by-step video of this article is available ...

  9. 远程桌面管理工具Remote Desktop Connection Manager

    使用说明:RDCMan安装好后双击打开RDCMan.exe,首次使用需要添加配置文件扩展名为rdg 1.点击File新建配置文件,这里命名为MRU,存放在安装的根路径下 建好之后,MRU会显示在左侧菜 ...

随机推荐

  1. Java 读取Properties文件时应注意的路径问题

    1. 使用Class的getResourceAsStream()方法读取Properties文件(资源文件)的路径问题:  InputStream in = this.getClass().getRe ...

  2. 《Java4android》视频学习笔记——面向对象的应用(一)

    ---恢复内容开始--- 有一台HP打印机需要一个程序来实现开机,打印,关机这三个功能 class HPprinter { void open(){ System.out.println(" ...

  3. nginx和apache的比较

    1.nginx的IO是非阻塞的,apache的IO是阻塞的. nginx accept一个连接以后会把它放到EPOLL的消息循环中,APACHE需要启动一个线程,当系统线程达到瓶颈以后,会阻塞网络IO ...

  4. mysql 5.7.15 vs mysql 5.6.31性能测试以及不同linux内核性能比较

    最近,将部分开发和测试环境的mysql升级到5.7之后,今天抽时间测试了下5.6和5.7 PK查询的性能,使用mysqlslap进行测试,测试结果发现在低配下,percona 5.6.31大约比5.7 ...

  5. Tsql查询执行顺序(二)

    来源:http://www.cnblogs.com/gaiyang/archive/2011/04/13/2014356.html T-SQL查询处理这种逻辑处理顺序,是理论上的处理过程,实际情况还会 ...

  6. [AngularJS] 使用AngularAMD动态加载Controller

    [AngularJS] 使用AngularAMD动态加载Controller 前言 使用AngularJS来开发Single Page Application(SPA)的时候,可以选用AngularU ...

  7. 【自然框架】终于把源码弄到git上了。

    好久没写博客了,发现又从左面的排名里掉出去了. 说来惭愧,一直说是开源,但是源码一直没能放到git里面.原因是,不会用. 最近终于把git弄明白了.把源码都放进去了. 刚兴趣的话可以来看看. http ...

  8. ECharts – 大数据时代,重新定义数据图表

    ECharts 基于 Canvas 的纯 Javascript 图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算.数据视图.值域漫游等特性大大增强了用户体验,赋予了用户对 ...

  9. Resumable.js – 基于 HTML5 File API 的文件上传

    Resumable.js 是一个 JavaScript 库,通过 HTML5 文件 API 提供,稳定和可恢复的批量上传功能.在上传大文件的时候通过每个文件分割成小块,每块在上传失败的时候,上传会不断 ...

  10. SlimerJS – Web开发人员可编写 JS 控制的浏览器

    SlimerJS 是一个提供给 Web 开发人员,可通过脚本编程控制的浏览器.它可以让你使用 Javascript 脚本操纵一个网页:打开一个网页,点击链接,修改的内容等,这对于做功能测试,页面自动机 ...