目前没有官方方法

目前没有官方方法

是否有可能有一个启动远程桌面会话的 URL?我知道对于某些人来说这可能被视为安全漏洞,但这种便利确实可以节省我很多时间。

我想要一个像这样的超链接,remotedesktop://example.org单击该超链接即可启动mstsc.exe并填充目标计算机(在本例中为example.org)。

如何最好地进行设置?

答案1

您可以使用自定义 URL 协议处理程序,但这意味着 URL 仅在您已设置该协议的计算机上有效。我认为您还需要一个程序来处理将 URLremotedesktop://example.org转换为/v:example.org- 虽然批处理文件可能可以做到这一点。

http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx了解更多信息。

答案2

原帖于 2016 年

对于 Windows 8.1、Windows Server 2012 R2,现在有远程桌面客户端 URI 方案支持

例子:rdp://full%20address=s:mypc:3389&audiomode=i:2&disable%20themes=i:1

点击此处了解详情,包括查询字符串参数的完整列表。

编辑 - 更新信息 2023 年 4 月

Microsoft 已发布可从 Microsoft 商店获取的远程桌面客户端 -https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients它允许您在客户端内配置要连接的主机,您可以在 Win11 的“开始”菜单中创建快捷方式,这样您就可以通过单击启动它。但是根据https://superuser.com/a/1594776/386189似乎没有您可以使用的命令行,开始菜单快捷方式以二进制格式存储在 %LocalAppData%\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState 中

但是,Microsoft Store 中的此版本不再主动更新,因为它已被 Azure 虚拟桌面客户端取代,请参阅https://learn.microsoft.com/en-us/azure/virtual-desktop/users/connect-windows?tabs=subscribe如果您使用 Azure,请参阅详细信息。

答案3

目前没有官方方法

微软表示,在 Server 2012 R2 中,他们提供了两种 URI 方案ms-rd://rdp://

但截至目前,2020-10-16,这些在我的 Win10 机器上不起作用。(确切版本:ver.exe输出Microsoft Windows [Version 10.0.19041.572]:)

因此,如果我在 cmd.exe 中运行以下任一操作:

C:\>start ms-rd://example.com

或者

C:\>start rdp://example.com

然后什么好事都没发生。我只得到了通用的“选择一个应用程序”对话框。(C:\Windows\System32\OpenWith.exe

然后我使用 URLProtocolView 再次检查了一遍(https://www.nirsoft.net/utils/url_protocol_view.html) 和: 没有。这两种方案都没有在我的系统上注册处理程序。

此外,这些方案也不在官方 IANA URI 方案列表中(https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml

因此答案似乎是:不。没有可以期望在现代 PC 上“正常工作”的 RDP URI 方案。您可以手动使其工作,只需手动添加方案和处理程序即可。(请参阅其他答案。)但这并不一样。

资料来源:微软在这里谈论他们的 URI 方案:

答案4

将以下文本保存为C:\Windows\RDP.js

var destination=(WScript.Arguments(0))
var search='rdp://'
var rdpexe='C:\\WINDOWS\\system32\\mstsc.exe'
//WScript.Echo(destination)
destination=destination.replace(search, '')
destination=destination.replace('/', '')
var ws = new ActiveXObject("WScript.Shell")
//WScript.Echo(rdpexe + " /v:" + destination)
ws.Exec(rdpexe + " /v:" + destination)

将下一个片段保存为RDP.reg

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\rdp]
@="URL:Remote Desktop Connection"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\rdp\DefaultIcon]
@="C:\\WINDOWS\\System32\\mstsc.exe"
[HKEY_CLASSES_ROOT\rdp\shell]
[HKEY_CLASSES_ROOT\rdp\shell\open]
[HKEY_CLASSES_ROOT\rdp\shell\open\command]
@="wscript.exe C:\\WINDOWS\\rdp.js %1"

双击,哇哦!当您单击类似 rdp://192.168.0.1 的内容时,您将通过 RDP 连接到该服务器。

相关内容