为什么Windows 7任务调度程序任务失败,错误2147942667

我正面临着一个奇怪的问题。 我已经安排了一个任务来启动一个batch file。 当我用选项Run only when user is logged on任务Run only when user is logged on一切正常。 但我想在后台运行这个任务,因此我运行它使用选项Run whether user is logged on or not 。 现在,当我运行任务它不工作。 我得到以下2个错误。 我不明白这个错误。 请帮我解决这个问题。

  Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of task "\stmm\Daemon". Additional Data: Error Value: 2147942667. Task Scheduler failed to start instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of "\stmm\Daemon" task for user "GBLADHEDANI\N011940" . Additional Data: Error Value: 2147942667. 

我有同样的问题。

对于我的解决scheme是在Microsoft知识库文章2452723:

如果“开始(可选)”字段中的path具有引号,则Windows Vista以后的计划任务将无法运行

基本上,编辑您的计划任务,并从“开始”字段中取出行情:

  1. 打开您的计划任务
  2. 切换到“操作”选项卡
  3. 打开你的行动
  4. 从“开始(可选)”字段中删除行情(“)”
  5. 保存并closures所有打开的对话框

在这里输入图像说明

这可能发生的原因不止一个。 在我的情况下,这是由于权限问题。 该任务正在运行的用户没有权限写入日志目录,因此失败并出现此错误。

我在Windows7上遇到了同样的问题。

我得到错误2147942667和无法运行c:\ windows \ system32 \ CMD.EXE的报告。 我尝试了在脚本和启动中使用和不使用双引号,并没有什么区别。 然后我尝试更换映射的networking驱动器和UNC引用(\ Server1 \ Sharexx \ my_scripts \ run_this.cmd)的所有path引用,并为我解决了它。 拍。

对于更通用的答案,将错误值转换为hex,然后在Windows任务计划程序错误和成功常量中查找hex值

对我来说,这是“开始” – 我从旧服务器复制的价值,并更新到新的EXE位置的path,但我忘了更新“开始”的位置 – 如果它不存在,你会得到这个错误太

引用@ hans-passant的意见,因为这个问题很有价值:

将错误代码转换为hex以获得0x8007010B。 7使它成为Windows错误。 这使得010B错误代码为267.“目录名称无效”。 当然,那发生了。