我以管理员身份登录服务器winserver2008。
我创建了一个名为:vbscript.vbs
的脚本此脚本的目的是通过putty自动登录到linux,然后执行命令行任务。
Dim Shell
Set Shell = CreateObject("WScript.Shell")
output = Shell.Run("C:\putty.exe 1.2.3.4 9321")
wscript.sleep(500)
Shell.Sendkeys "root" & VBCrLf
wscript.sleep(30)
Shell.Sendkeys "password" & VBCrLf
wscript.sleep(30)
当我手动点击vbscript.vbs执行它时,vbscript会将root和密码填入putty。
当我使用windows scheduler调用vbscript.vbs来执行它时,vbscript不会将root和密码填入putty。
我怀疑是一些许可问题。 我已经将putty.exe设置为以管理员身份运行,允许管理员,管理员组权限,但在通过Windows调度程序调用时仍然无法正常工作。
=====
我刚刚尝试了第二种情况,将2发送到Windows计算器,也失败了..
testcalc.vbs
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "Calc.exe"
objShell.AppActivate "Calculator"
objShell.SendKeys "2"
答案 0 :(得分:1)
放弃尝试让SendKeys
从预定任务中恢复工作,这不会发生。而只需在命令行上传递登录名和密码:
output = Shell.Run("C:\putty.exe -l root -pw password 1.2.3.4 9321")
或者使用会话文件并使用-load
。
如果您要通过此连接执行命令,我相信您确实需要plink
而不是putty
。