考虑:
Dim WSHShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "MSTSC /v:servername"
WScript.Quit
我可以打开RDP弹出窗口并提供要连接的服务器名称。我需要提供用户名,密码,然后单击确定。有没有办法从VBScript实现这个目标?
答案 0 :(得分:4)
您可以使用以下代码:
Dim objShell, strMachineName, strUserName, strUserPwd
set objShell = createObject("wscript.shell")
strMachineName = "enter-machine-name"
strUserName = "enter-your-user-name"
strUserPwd = "enter-user-password"
objShell.Run "cmdkey /generic:"&strMachineName&" /user:"&strUserName&" /pass:"&strUserPwd
objShell.run "mstsc /v: "&strMachineName
set objShell = Nothing
cmdkey
上的我在Windows 7上对此进行了测试,但它确实有效。
答案 1 :(得分:0)
我可以建议两种选择。
1:您可以保存RDP连接(参见下图),然后从WshShell运行新的.rdp文件。创建.rdp文件后,您必须首次登录,输入凭据,然后选中“记住我的凭据”选项。
2:您可以使用SendKeys方法。这很丑,但有效。缺点是密码留在代码中,所以如果你走这条路线,你可能想要查看加密。您可能还需要调整等待(休眠)以等待弹出窗口出现。
WScript.Sleep 5000 'Sleeps for 5 seconds
SendKeys “{TAB}”, 1 'Focus to the computer name
SendKeys "ServerName", 1
SendKeys "{TAB}", 1 'Focus to the user name
SendKeys "Password", 1
SendKeys "{ENTER}", 1 'Connect