var server=(WScript.Arguments(0))
var prefix='rdp://'
var app='C:\\WINDOWS\\system32\\mstsc.exe'
server=server.replace(prefix, '')
server=server.replace('/', '')
var shell = new ActiveXObject("WScript.Shell")
shell.Exec(app + " /v:" + server)
2) 将 rdp:// 链接与该脚本相关联的一些注册表设置。这些以可以从 Windows 命令提示符运行的命令的形式提供:
不是这样的。您可以在服务器上保存 RDP 文件并提供指向该文件的链接,只要您的 MIME 类型在服务器上正确设置,它应该下载,然后当用户打开时,应该使用正确的设置打开 RDP。
您不能直接从浏览器运行可执行文件(在本例中为 mstsc.exe),这将是一个相当大的安全漏洞,用户需要下载一些东西并有意识地打开它。
正如 Sam 所提到的,只需在您的服务器上存储一个 RDP 文件或编写一些将为您生成 RDP 文件的内容。
您需要发送的 MIME 类型是“ application/x-rdp ”。
我不确定你到底需要什么。另一种选择也可能是使用 java applet RDP 客户端。例如(http://properjavardp.sourceforge.net/)
这是一个不需要 wscript 文件的更新版本,您只需要基于 PowerShell 的注册表项。
我发现了 James Clements 的这篇有用的帖子,它描述了一种似乎有效的技术:http ://www.jjclements.co.uk/2010/02/21/rdp-hyperlink/ 这需要每个要点击 rdp 的人:// 超链接运行批处理文件以适当地设置他们的系统。如果这满足您的需求,请继续阅读。
James 提供了一个小的 .BAT 文件来设置 rdp:// 关联,因此在安装关联后,您可以单击指向 rdp://myserver 或 rdp://myserver.myhost.com 的超链接,它将启动 MSTSC。 exe连接到指定的服务器。(Stack Overflow 不允许我在这篇文章中插入这些超链接,这很公平,但如果你控制了 HTML,你就可以做到。)
批处理文件的中心部分创建了两件事:
1) 位于已知位置 (
C:\Windows\hyperlink-rdp.js
) 的 Javascript 文件,内容如下:2) 将 rdp:// 链接与该脚本相关联的一些注册表设置。这些以可以从 Windows 命令提示符运行的命令的形式提供:
您可以从 James Clements 的网站下载并运行 rdp.bat(并将其分发给其他用户),或者您可以自己保存该
hyperlink-rdp.js
文件并自己添加这些注册表项。也可以创建一个包含相同设置的 .reg 文件。如果需要,James 的批处理文件还提供了一种卸载关联的方法。如果您只需要它用于个人用途,则有一种解决方法。您可以创建自定义协议句柄并通过您的 HTML 使用它。这是一个很好的例子。