我正在根据我的用户参数制作一个 rdp 文件
full address:s:<c_host>
alternate shell:s:||<c_appname>
remoteapplicationprogram:s:||<c_appname>
remoteapplicationname:s:<c_alias>
...
loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.<c_collection>
我从参数中读取并用值替换标签,这就是为什么我需要为每个可以更改的值创建参数,我映射了所有可以更改值的标签,例如:远程应用程序名称、主机、端口、别名、集合,我担心唯一可以更改的但我不知道它是什么是最后一个:
loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.<c_collection>
我试图寻找它但找不到,我知道的是,这些标签将定义应用程序在哪里启动,在本例中,是在集合中定义的主机上启动。
是什么意思:“s:tsv:“?
“是什么意思//MS 终端服务插件.1.“?它可以改变吗?“1”代表什么?如果我在服务器管理器中配置了多个集合,那么//MS 终端服务插件.2?
提前致谢。
答案1
您提到的参数允许 Broker 知道客户端正在尝试连接哪个集合。
由于一个代理可以管理多个主机和多个集合,因此此设置至关重要。
我们将这个参数分为多个部分:
loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.<c_collection>
loadbalanceinfo
是参数名称s
是此参数期望的值的类型。“S”表示“字符串”。我敢肯定,如果您查看 RDP 文件,您会发现带有“i”的设置,它表示“整数”。tsv://MS Terminal Services Plugin.1.<c_collection>
是参数“loadbalanceinfo”的值,它是一个字符串。
并且该字符串由代理处理,因此客户端将被相应地重定向(MS Terminal Services Plugin.1.... 是内部使用和处理的值)
这里的“问题”是,RDP 设置loadbalanceinfo
实际上并没有被微软记录下来,它随时可能改变……
如果您依赖自己的 RDP 文件进行生产,那么您应该准备好快速更改整个值。
你注意到了 中有集合名称loadbalanceinfo
,小心,这不一定是管理控制台中显示的集合名称!如果你愿意,可以试试:从一定长度开始,这个值被截断。
我的建议是仅使用由远程桌面 Web 门户 (RDWeb) 生成的官方 RDP 文件,或者准备在 RDP 文件内容发生变化时快速响应(例如,如果 Microsoft 愿意,可以在明天通过 Windows 更新更改负载平衡信息)