为什么我的任务计划程序任务失败,错误2147942667?

我已经安排了一个任务来启动批处理文件

仅在用户登录时运行

一切正常。

我想在后台运行这个任务,因此我使用这个选项来运行它

运行用户是否登录。

现在,当我在该参数下运行任务时,它不工作:

  • 任务调度程序未能在任务“ stmm 守护进程”的实例“{2a7cc950-fad9-4633-9701-af75a0fd220d }”中启动动作“ C: Windows SYSTEM32 cmd.exe”。附加数据: 错误值: 2147942667。
  • 任务调度程序未能为用户“ GBLADHEDANI N011940”启动“ stmm 守护进程”任务的实例“{2a7cc950-fad9-4633-9701-af75a0fd220d }”。附加数据: 错误值: 2147942667。

什么是错误值: 2147942667? 如何解决这个错误?

186405 次浏览

要获取相关的错误消息:

  1. 将2147942667转换为十六进制: 8007010B
  2. 取最后4位数字(010B)并转换为十进制: 267
  3. 在命令提示符中,运行 net helpmsg 267
  4. 结果: “目录名无效”

Command Prompt Window

对我来说,解决办法是在“开始”字段中加上引号。我在 MicrosoftKB 文章2452723,如果“开始(可选)”字段中的路径有引号,则 WindowsVista 前进计划任务无法运行中找到了这个信息。

基本上,编辑你计划好的任务,从“开始”字段中删除引号:

  1. 打开计划任务
  2. 切换到“操作”选项卡
  3. 打开你的动作
  4. 从“ Start in (可选)”字段中删除“引号(”)”
  5. 保存并关闭所有打开的对话框

Edit Action Dialog Box

您还应该检查导致错误的其他原因,比如没有访问目录的权限,或者使用仅在某些登录会话期间可用的映射驱动器号。

要获得更一般的答案,请将错误值转换为十六进制,然后在 Windows 任务计划程序错误和成功常数处查找十六进制值

出现这种情况的原因可能不止一个。在我的例子中,这是由于权限问题而发生的。正在运行该任务的用户没有写入 log 目录的权限,因此此错误导致该用户失败。

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

我收到错误2147942667和一个无法运行 c: windows system 32 CMDEXE 的报告。我试过在脚本和开始中引用或不引用双引号,但没有什么区别。然后,我尝试用 UNC 引用(Server1 Sharexx my _ script run _ this)替换映射网络驱动器的所有路径引用。Cmd) ,这为我解决了这个问题。 帕特。

对我来说,这是“开始”-我复制了一个旧的服务器的值,并更新了新的路径。Exe 位置,但是我忘了更新“ start in”位置-如果它不存在,也会出现这个错误

引用@hans-passant 上面的评论,因为它对调试这个问题很有价值:

将错误代码转换为十六进制以得到0x8007010B Windows 错误。这使得010B 错误代码为267。”目录名是 当然,这种情况时有发生。