使用Batch完全连接到远程桌面

时间:2016-01-28 19:14:17

标签: batch-file remote-desktop

我想创建一个简单的程序来帮助连接到远程桌面,这是我到现在为止所做的:

 @echo off
 echo Connect Program
 echo Enter IP of computer:
 set /p ip=
 echo Enter Username
 set /p user=
 echo Enter Pass
 set /p pass=

现在我只想要填写变量%ip%,%user%,%pass%的代码。 有什么简单的方法吗?

2 个答案:

答案 0 :(得分:1)

以下是我从this post派生的内容。首先,创建登录凭据的条目。其次,建立RDP连接。第三,删除包含凭证的条目。到目前为止,我一直在Win7和Win10上使用它。

我从KeePass密码管理器调用此脚本,该管理器将参数传递给脚本。

用法示例:

rdp.bat "my.host.name.de" "port" "username" "password"

<强> rdp.bat

:: RDP connection without password prompt ------------
:: %1 = hostname
:: %2 = port
:: %3 = username
:: %4 = password
:: ---------------------------------------------------
cmdkey /add:"%~1" /user:"%~3" /pass:"%~4"
start /wait mstsc /v:"%~1:%~2"
cmdkey /delete:"%~1"
  

注意:   如果在RDP会话结束之前关闭后台运行的脚本,则不会删除包含登录凭据的条目。如果你知道自己在做什么,只能使用这种方法。 请勿使用此项,例如在公共计算机上,因为您的登录信息可能会被曝光!!

答案 1 :(得分:0)

远程桌面连接(mstsc.exe)不允许您从命令行提供凭据。从命令提示符运行mstsc /?显示可用的开关:

  

MSTSC [] [/ v:] [/ admin] [/ f [ullscreen]] [/ w:/ h:] [/ public] | [/ span] [/ multimon] [/ edit&#34;连接文件&#34;] [/ restrictedAdmin] [/ prompt] [/ shadow:[/ control] [/ noConsentPrompt]]

     

&#34;连接文件&#34; - 指定连接的.RDP文件的名称。

     

/ v: - 指定要连接的远程计算机。

     

/ admin - 将您连接到管理服务器的会话。

     

/ f - 以全屏模式启动远程桌面。

     

/ w: - 指定远程桌面窗口的宽度。

     

/ h: - 指定远程桌面窗口的高度。

     

/ public - 以公共模式运行远程桌面。

     

/ span - 将远程桌面宽度和高度与本地虚拟桌面匹配,如有必要,跨越多个监视器。要跨越监视器,必须将监视器排列成矩形。

     

/ multimon - 将远程桌面服务会话监视器布局配置为与当前客户端配置相同。

     

/ edit - 打开指定的.RDP连接文件进行编辑。

     

/ restrictedAdmin - 以受限管理模式将您连接到远程PC或服务器。在此模式下,凭据不会发送到远程PC或服务器,如果您连接到受到危害的PC,它可以保护您。但是,远程PC建立的连接可能无法通过其他PC和服务器进行身份验证,这可能会影响应用程序功能和兼容性。 Implies / admin。

     

/ prompt - 连接到远程PC或服务器时提示您输入凭据。

     

/ shadow: - 指定您要查看的会话ID。

     

/ control - 允许控制会话。

     

/ noConsentPrompt - 允许在未经用户同意的情况下进行镜像。

这表示启动时询问用户凭据的唯一方法是提前将它们存储在.RDP文件中,或者使用/prompt在运行时提示用户。