Remote Desktop File Format
转自: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: |
|
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 |
|
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 |
|
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 |
|
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 |
|
|
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的更多相关文章
- 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 ...
- 使用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 ...
- 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 ...
- Remote Desktop Connection Manager
通过Remote Desktop Connection Manager(RDCMan),当前最新版本是 v2.7. 通过这款软件,我们便可以轻松的管理和访问数个RDP.左边的列表中我们可以创建总的分区 ...
- Windows组件:打开MSDTC,恢复Windows TaskBar,查看windows日志,打开Remote Desktop,打开Services,资源监控
一,Win10 打开 MSDTC 1,Win+R 打开运行窗口,输入 dcomcnfg,打开组件服务窗口 2,在组件服务 catalog下找到 Distributed Transaction Coor ...
- Remote Desktop Connection Manager (RDCMan)
当前最新版本是 v2.7. 通过这款软件,我们便可以轻松的管理和访问数个RDP.左边的列表中我们可以创建总的分区列表(即 RDCMan Group),该列表保存采用的是RDG扩展名,使用时通过&quo ...
- 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 ...
- 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 ...
- 远程桌面管理工具Remote Desktop Connection Manager
使用说明:RDCMan安装好后双击打开RDCMan.exe,首次使用需要添加配置文件扩展名为rdg 1.点击File新建配置文件,这里命名为MRU,存放在安装的根路径下 建好之后,MRU会显示在左侧菜 ...
随机推荐
- [javaSE] 反射-获取类的成员属性和构造方法
成员属性和构造方法皆为对象,通过Class对象的方法可以得到 package com.tsh.reflect; import java.lang.reflect.Constructor; import ...
- mysql乱码解决
在 /etc/my.cnf加上下面二句: skip-character-set-client-handshakecharacter-set-server = utf8
- Maven+SSM框架实现简单的增删改查
Spring介绍: spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情.然而, Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Ja ...
- http异步请求的一种调用示例
在异步编程中,经常会调用已经写好的异步方法.这时会有一个需求:根据异步方法的返回值,做一些别的操作. 1.0 重新开启一个异步方法,在这个新的异步方法内部,调用需要请求的异步方法.示例: static ...
- percona server 5.7.16正式发布
继2016年10月12日mysql 5.7.16发布后,percona server 5.7.16终于于11月29日发布了,这是最新版本的5.7系列,可从https://www.percona.com ...
- [deviceone开发]-大家比较关注的应用内部升级
一.简介 这个示例详细介绍了应用内升级的步骤,应用内升级是开发App必须的功能.推荐初学者学习. 二.效果图 三.相关下载 https://github.com/do-project/code4do/ ...
- JQuery强化教程 —— jQuery Easing
从jQuery API 文档中可以知道,jQuery自定义动画的函数.animate( properties [, duration] [, easing] [, complete] )有四个参数: ...
- SharePoint 2013 重命名网站集名称(SharePoint 2013 rename site collection)
最近使用SharePoint中,遇到一个需要重命名网站集的需求,主要是网站用数据库备份/还原的方式,想要改网站集的地址,然后搜了一下PowerShell: $site = Get-SPSite -Id ...
- ORA-00054:资源正忙,但指定以nowait方式
PL/SQL执行SQL脚本文件,报错如下: 百度寻找答案,认为是被锁了. select session_id from v$locked_object; 结果没有任何数据. 后来把PL/SQL关闭 ...
- 如何找回Oracle中system,sys用户的密码[转]
Oracle中如果不知道system,sys用户的密码后可用如下方法找回: 首先以一个普通用户等入数据库: 在SQL*Plus中执行如下命令: SQL>connect/as sysdba (也可 ...