问题 自动化远程桌面连接


我们在开发环境中使用了许多远程桌面,并且在多个环境中部署了许多服务器。记住他们的IP,用户名和密码是很繁琐的。我想写一个带有按钮的小工具。单击时,我想启动那些远程桌面,从某个列表中自动获取用户名和密码。

我知道MS Remote Desktop有一个等效的命令行: mstsc这个 线程建议按如下方式执行此操作:

cmdkey /generic:TERMSRV/"computername or IP" /user:"username" /pass:"password"
mstsc /v:"computer name or IP"

我跑第一行,它说凭证成功添加。然后当我运行第二行时,它只是为指定的IP运行远程桌面连接并要求输入用户名和密码。我希望它能够通过自动应用指定的凭证来打开指定IP的远程连接桌面 cmdkey

  • 这有什么不对?是否可以使用此类Powershell脚本?
  • 我是否可以通过HTML页面调用此脚本(因为我将在网页上放置许多其他资源,这些资源将作为我们开发人员的一个点链接,这样我们就不会浪费时间和精力每次都找到它们想要他们。是否有可能 将应用程序注册到URI方案 ?)
  • 还有其他(标准)方式吗?

3072
2018-05-10 09:57


起源

您无法使用PowerShell创建按钮。 PowerShell是一种基于命令行的语言。对于按钮,请查看C#和Visual Studio Express - Solaflex
@Solaflex是的我知道我必须从使用say .NET构建的应用程序中调用此PowerShell scritps。刚刚删除了那些问题,因为我刚刚意识到这很有可能。 - Mahesha999
计算机是否在域中? - Solaflex
是所有远程计算机都在域中,我可以使用远程桌面连接但不通过PowerShell连接到它们 - Mahesha999
为什么你不使用像皇家ts这样的rdp经理? - James Woolfenden


答案:


你尝试的问题是参数 /generic

根据 cmdkey官方网站/generic 

标识此条目将与之关联的计算机或域名。

在我的例子中,我将调用计算机 COMPUTER01

您想要与TERMSRV / Computer01相关联的凭证吗? (就像你的例子 /generic:TERMSRV/"computername or IP" 说过)

不,您希望它与正常的计算机名相关联 COMPUTER01

然后你必须删除 TERMSRV/

工作结果是:

cmdkey /generic:"computername or IP" /user:"username" /pass:"password"

对于你的其他问题:

  1. 见上面的答案
  2. 我不知道它是否仅适用于HTML。我不这么认为。但我也在ASP.NET中实现了一些PowerShell脚本。这很有效。
  3. 见上面的答案

14
2018-05-10 11:56





这是一个非常古老的问题。自那以后发生了很多变化。许多运营商已经建议使用现成的工具来做到这一点。早在2013年,Windows商店就不是那么好的地方(*我的意见)。但现在好了。有 Microsft自己的远程桌面应用程序 在商店。该应用程序是通用的,即它在PC,移动和全息图上运行。

有什么好的?微软有 在Android上提供相同的应用程序。我试过PC和Android。两者都很棒。

所以试一试。我现在是这些应用程序的常客。


2
2018-06-12 10:45



如果您添加了最低要求,那将是很好的: 最低操作系统:Windows 10,Windows 8.1,Windows 10 Mobile,Windows Phone 8.1 建筑:ARM,x86,x64 - tukan