带有批量和VBS的Windows 2008 R2任务调度程序

我创build了一个名为restart.bat的batch file

:: Open a Telnet window start telnet.exe 10.20.11.12 :: Run the script %systemroot%\system32\cscript.exe //Nologo //BC:\Scripts_and_Tools\SendKeys.vbs 

这是vbs脚本

 set OBJECT=WScript.CreateObject("WScript.Shell") WScript.sleep 50 OBJECT.SendKeys "root{ENTER}" WScript.sleep 50 OBJECT.SendKeys "password{ENTER}" WScript.sleep 50 OBJECT.SendKeys "boot action=reset{ENTER}" WScript.sleep 3000 OBJECT.SendKeys "{ENTER}" WScript.sleep 50 OBJECT.SendKeys "{ENTER}" WScript.sleep 50 OBJECT.SendKeys " exit{ENTER}" WScript.sleep 50 OBJECT.SendKeys " " 

手动运行它工作正常,但运行它作为任务调度程序,它会显示它已经完成,但它没有工作。

该任务默认在用户会话0中运行,不与桌面交互。 看到

窗户-7任务调度到启动应用程序在用户会话

您可以确认这是否是您的问题,但在login到其运行的域pipe理员帐户时手动运行“任务计划程序”任务。 远程login窗口等应该在交互式桌面的那个点上运行。

对于这种types的点击/键自动化,我build议使用Autoit,因为它可以将input直接发送到适当的窗口。