Windows任务计划程序设置为“时未运行VBScript”;无论是否登录,都要运行";

Windows任务计划程序设置为“时未运行VBScript”;无论是否登录,都要运行";,vbscript,scheduled-tasks,Vbscript,Scheduled Tasks,我正在尝试通过Windows任务计划程序将.vbs文件作为计划任务运行。在“常规”选项卡下,当我选择“仅当用户登录时运行”时,脚本将按预期执行 但是,当我选择“无论用户是否登录都运行”并输入相应的凭据时,任务会在计划的时间运行,但脚本实际上不会运行。我已经尝试过在wscript.exe和cscript.exe下运行脚本,但都没有成功 编辑:即使任务开始时我已登录,脚本仍不会在“登录或退出”设置下运行 附加信息:此计划任务的目的是在我到达工作地点之前运行。我已经将BIOS配置为在预定时间(06:0

我正在尝试通过Windows任务计划程序将.vbs文件作为计划任务运行。在“常规”选项卡下,当我选择“仅当用户登录时运行”时,脚本将按预期执行

但是,当我选择“无论用户是否登录都运行”并输入相应的凭据时,任务会在计划的时间运行,但脚本实际上不会运行。我已经尝试过在wscript.exe和cscript.exe下运行脚本,但都没有成功

编辑:即使任务开始时我已登录,脚本仍不会在“登录或退出”设置下运行

附加信息:此计划任务的目的是在我到达工作地点之前运行。我已经将BIOS配置为在预定时间(06:00)启动,并将任务计划程序设置为在06:27运行。我已经成功地测试了BIOS启动,以及脚本本身(包括使用任务调度器运行它)。因此,我能找到的唯一薄弱环节是“无论用户是否登录都运行”选项

我正在运行Windows7企业版


任何帮助都将不胜感激

这是因为它通常会使用shell处理程序运行脚本,默认情况下,shell处理程序是
wscript.exe
。当没有桌面环境时(因为没有人登录),它将失败并中止脚本执行(或者说,首先不运行脚本)


要解决此问题,请将其更改为运行
cscript.exe
(命令行脚本运行时程序),并将脚本文件名作为第一个参数传递,而不是直接运行.vbs文件。还要确保没有任何
InputBox
MessageBox
调用(改为使用
WScript.Echo
将消息返回给用户:
WScript
显示消息框,但
cscript
会将其写入控制台。

不确定是否可以这样做。WScript和cscript都需要被视为“桌面交互”的输出。更多详细信息(一个文字控制台应用程序,而不是WScript/CScript,但同样的规则适用)你说的有道理,但是当我登录时脚本不应该正确执行吗(请参见编辑)?也就是说,在尝试运行脚本之前安排一个任务先登录会解决这个问题吗?(我将很快进行测试).好的,我做了更多的研究:我认为“桌面交互”问题可能是这个问题的原因。好吧,中止的脚本不会报告任何内容。因此,您可以看到进程的开始,但它会在“无输入/输出通道”上中止这是我的猜测。脚本执行失败。我已经尝试以脚本的文件名为参数运行
cscript.exe
,但任务只是“完成”了,没有运行脚本。我还检查了脚本,没有调用
MessageBox
InputBox
@Arne问题是什么任务的“上次运行结果”?您正在运行的确切命令是什么?是否将脚本文件名括在引号中?我已经对该命令进行了一些修改,但我目前正在“启动程序/脚本”框中使用
cscript.exe
,并将几个选项和脚本文件名作为可选参数传递(引用语):
//nologo//B“C:\folder\myscripthere.vbs”