当任务返回的结果不同于0时如何使TaskScheduler失败


16

我有一个备份任务失败,结果为非零,但是任务计划程序说它正确执行了任务。

有什么办法告诉任务计划程序任务失败?


嗨,Pablo,我们需要更多信息。就像任务调度程序是如何启动/什么启动的?批处理文件,EXE,还有其他东西吗?这是您要处理的Windows备份吗?你尝试了什么?
Ƭᴇcʜιᴇ007

1
我正在使用wbadmin程序启动备份,但是对于带有单个'exit 1'语句的批处理文件,我也有同样的问题。TaskScheduler包含错误代码,但报告任务成功运行。
Pablo Montilla

那么任务计划程序本身会显示非零退出代码吗?
2011年

3
是的,但是将任务报告为已成功执行。我收集到的也许是它正在报告它可以执行任务,而不是任务本身失败了,但似乎没有什么用。
Pablo Montilla

Answers:


4

如果Task Scheduler成功启动任务,并且启动的程序退出,则从Task Scheduler的角度来看,这是成功的(即,没有什么坏事发生,如启动程序的失败的用户凭据)。

通常,如果您想监视程序运行期间发生的不良情况,您可以让程序发送某种警报(例如,通过电子邮件或登录到稍后查看的文件),或者设置另一个程序以监视有关程序运行的信息,以表明是否发生了错误。

您尝试获取哪种错误通知?您是否正在进行手动检查,但只是想使错误更明显?还是您有另一个程序监视错误?


2
仍然,我认为失败并且不报告(或至少提供报告执行)失败的任务是错误的。谢谢!
Pablo Montilla

1
我同意,如果任务计划程序可以检测到退出代码并根据结果发送电子邮件,这将很有用。但我不相信它具有该功能。您是否要获取电子邮件警报?也许将wbadmin的启动包装在VBScript或PowerShell脚本中,以检测退出代码并对其进行处理,这对您来说是可能的?
Shannon Wagner

1
是的,这是有可能的。它也工作...;)希望MS会觉得这是添加到Windows 8的一些有用的东西
巴勃罗·蒙蒂利亚

6
这让我激动不已-任务计划程序具有所有配置这些选项的选项,以便在操作“失败”时重新启动操作,但甚至不检查操作是否返回错误代码。让我想知道到底是什么构成了Task Scheduler的“失败”。
Mackenir

根据这个答案,我不得不问:任务计划程序是否甚至根据退出代码触发重试?
jpmc26 2016年

5

如果任务失败,则可以“重新启动”任务。

  1. 在批处理脚本中使用以下代码来创建系统错误事件:

    eventcreate / ID 100 / SO“您的脚本名称” / L应用程序/ T错误/ D“您的失败原因”

  2. 使用触发器创建一个新任务,该触发器监视系统事件并筛选刚添加到批处理中的类别和ID。此任务的操作再次是批处理。此任务应延迟一分钟,以使同一批次不会启动两次!

注意不要创建无限循环。

希望有帮助!


我喜欢这种方法:)
DavidPostill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.