如何Windows任务计划程序在Win7承认失败的任务?(How does Windows Task

2019-07-03 19:24发布

我与Windows 7的工作,我有一个返回值为零(为0x0)成功时对错误情况的应用程序和一个(为0x1)。

我已经计划使用Windows任务调度这个程序。 我已经检查了选项框“如果任务失败,请重新启动每一个”和“尝试重新启动最多:”。

我认为,从应用程序非零返回码就足以触发任务给定的间隔之后重新启动。 但没有任何反应。

任何想法可能是什么问题? 我试图谷歌,但没有发现任何有关。

Answer 1:

创建一个新的任务和设置自定义事件查询是这样的:

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
    <Select Path="Microsoft-Windows-TaskScheduler/Operational">*[System[EventID=201]] and *[EventData[Data[@Name='ResultCode']!='0']] and *[EventData[Data[@Name='TaskName']='\YOUR TASK NAME HERE']]</Select>
  </Query>
</QueryList>

设置触发高级设置,延迟任务一段像时间15分钟。

配置新任务的行动来启动程序:

程序/脚本:

schtasks

添加参数:

/Run /TN "\YOUR TASK NAME HERE"

这将安排原始任务到事件非零结果码登录后,再次运行15分钟。



Answer 2:

我已经经历了Windows 2008 Server的Windows任务调度同样的问题。 动作返回一个非零代码,但调度考虑完成了任务

Task Scheduler successfully completed task "\SET Tasks\Scheduled task [Backup SET Server]" , instance "{...}" , action "C:\Windows\SYSTEM32\cmd.exe" with return code 1.

我在网上只有一个答案上找到:

你的任务完成时,Windows任务计划程序 检查退出代码或任何其他值。 你必须你自己的脚本或程序中处理任何错误处理。

......在这个文件: www.onlinetoolworks.com/docs/winTaskSched.doc

所以,我现在认为,要解决这个问题,可能是唯一的方式来使用任务触发事件 。 我们正在调查。

问候,

奥利维尔。



Answer 3:

您可以,

  1. 激活历史附表(如果没有的话)
  2. 在历史“行动已完成”右键点击“附加任务此事件......”
  3. 这样设置自定义过滤器:

    * [系统[(事件ID = 201)]]和* [EVENTDATA [数据[@名称= '的ResultCode'] = '1']]

请享用

TILO

使用在Win 2008 R2(Exchange作为电子邮件服务器)



文章来源: How does Windows Task Scheduler in Win7 recognize a failed task?