我有一个应用程序(.exe),它是通过Windows 2008 R2上的一个预定任务运行的。任务运行良好,但是当.exe返回一个非零退出代码时,任务在失败时仍然是成功的。
我收到这样的信息:
任务调度程序成功地完成了任务"\CustomerDataSourceETL“,实例"{a574f6b4-2614-413c-8661-bc35eaeba7cd}”,动作"E:\applications\CCDB-ETL\CustomerDataSourceETLConsole.exe“,返回代码214794259。
如何让任务调度程序检测返回代码>0并失败?
发布于 2011-04-29 15:09:40
我认为除了手动检查“最后一次运行结果”列之外,在任务计划程序中没有什么可以做的。在这两种情况下,事件日志还会创建一个信息条目。
Vista中的任务调度程序( LastTaskResult )和后来的任务调度程序(LastTaskResult)提供了比旧版本更好的API接口,您可以使用它来检查任务的LastTaskResult。
我写了一个,它每小时检查我的所有任务是否有任何结果,而不是0,如果它找到任何结果,我会发送给我一封电子邮件。如果有人感兴趣的话,我可以提供吗?
您可以使用Powershell进行同样的操作,但是接下来需要任务调度程序来调度脚本,如果整个过程都失败了,您就不会收到通知。
https://serverfault.com/questions/222328
复制相似问题