AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 41161
Accepted
BlueGene
BlueGene
Asked: 2009-07-16 09:43:58 +0800 CST2009-07-16 09:43:58 +0800 CST 2009-07-16 09:43:58 +0800 CST

从超链接调用远程桌面连接

  • 772

有没有办法创建一个超链接来调用到 Windows 机器的远程桌面连接?

windows remote-desktop rdp
  • 5 5 个回答
  • 23213 Views

5 个回答

  • Voted
  1. Best Answer
    Sam Cogan
    2009-07-16T09:48:29+08:002009-07-16T09:48:29+08:00

    不是这样的。您可以在服务器上保存 RDP 文件并提供指向该文件的链接,只要您的 MIME 类型在服务器上正确设置,它应该下载,然后当用户打开时,应该使用正确的设置打开 RDP。

    您不能直接从浏览器运行可执行文件(在本例中为 mstsc.exe),这将是一个相当大的安全漏洞,用户需要下载一些东西并有意识地打开它。

    • 7
  2. Zoredache
    2009-07-16T09:57:15+08:002009-07-16T09:57:15+08:00

    正如 Sam 所提到的,只需在您的服务器上存储一个 RDP 文件或编写一些将为您生成 RDP 文件的内容。

    您需要发送的 MIME 类型是“ application/x-rdp ”。

    我不确定你到底需要什么。另一种选择也可能是使用 java applet RDP 客户端。例如(http://properjavardp.sourceforge.net/)

    • 7
  3. butch7903
    2021-01-29T13:34:28+08:002021-01-29T13:34:28+08:00

    这是一个不需要 wscript 文件的更新版本,您只需要基于 PowerShell 的注册表项。

    reg add "HKCR\rdp" /f /v "" /t REG_SZ /d "URL:Remote Desktop Connection"
    reg add "HKCR\rdp" /f /v "URL Protocol" /t REG_SZ /d ""
    reg add "HKCR\rdp\DefaultIcon" /f /v "" /t REG_SZ /d "C:\WINDOWS\System32\mstsc.exe"
    REM do the next 1 of the other, but not both
    reg add "HKCR\rdp\shell\open\command" /f /v "" /t REG_SZ /d "powershell.exe $URL = '%1%'; $SERVER = $url.replace('rdp://',''); $SERVER = $SERVER.replace('/',''); mstsc.exe /v $SERVER"
    REM OR
    reg add "HKCR\rdp\shell\open\command" /f /v "" /t REG_SZ /d "powershell.exe $URL = '%1%'; $SERVER = $url.replace('rdp://',''); $SERVER = $SERVER.replace('/',''); mstsc.exe /v $SERVER /restrictedAdmin"
    
    • 2
  4. AlexC
    2019-03-20T02:02:24+08:002019-03-20T02:02:24+08:00

    我发现了 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 文件,内容如下:

    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 命令提示符运行的命令的形式提供:

    reg add "HKCR\rdp" /f /v "" /t REG_SZ /d "URL:Remote Desktop Connection"
    reg add "HKCR\rdp" /f /v "URL Protocol" /t REG_SZ /d ""
    reg add "HKCR\rdp\DefaultIcon" /f /v "" /t REG_SZ /d "C:\WINDOWS\System32\mstsc.exe"
    reg add "HKCR\rdp\shell\open\command" /f /v "" /t REG_SZ /d "wscript.exe C:\WINDOWS\hyperlink-rdp.js %%1"
    

    您可以从 James Clements 的网站下载并运行 rdp.bat(并将其分发给其他用户),或者您可以自己保存该hyperlink-rdp.js文件并自己添加这些注册表项。也可以创建一个包含相同设置的 .reg 文件。如果需要,James 的批处理文件还提供了一种卸载关联的方法。

    • 1
  5. Stoinov
    2011-07-05T05:02:51+08:002011-07-05T05:02:51+08:00

    如果您只需要它用于个人用途,则有一种解决方法。您可以创建自定义协议句柄并通过您的 HTML 使用它。这是一个很好的例子。

    • 0

相关问题

  • 您最喜欢的云计算提供商是什么?[关闭]

  • Vanilla Powershell 是否足以成为 Windows 和 DB 服务器管理员的语言?

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve