Windows调度程序无法向putty发送命令

时间:2011-09-01 11:22:36

标签: windows vbscript scheduler putty

我以管理员身份登录服务器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"

1 个答案:

答案 0 :(得分:1)

放弃尝试让SendKeys从预定任务中恢复工作,这不会发生。而只需在命令行上传递登录名和密码:

output = Shell.Run("C:\putty.exe -l root -pw password 1.2.3.4 9321")

或者使用会话文件并使用-load

如果您要通过此连接执行命令,我相信您确实需要plink而不是putty