我有一个应用程序(.exe),通过Windows Server 2008 R2上的计划任务运行。 任务运行良好,但是当.exe返回一个非零的退出代码时,任务仍然会失败。
我得到这个消息:
任务计划程序成功完成任务“\ CustomerDataSourceETL – Whics”,实例“{a574f6b4-2614-413c-8661-bc35eaeba7cd}”,操作“E:\ applications \ CCDB-ETL \ CustomerDataSourceETLConsole.exe”,返回码为214794259。
我怎样才能得到任务调度程序检测到返回代码是> 0和失败的任务?
我不认为在Task Scheduler中你可以做任何事情,除非手动检查“最后运行结果”列。 事件日志也会在两种情况下创build一个信息条目。
在Vista和更高版本中的任务计划程序配备了比旧版本更好的API ,您可以使用它来检查您的任务的LastTaskResult。
我写了一个Windows服务,检查我的任务每小时的任何结果不是0,并发送给我一封电子邮件,如果它发现任何。 如果有人感兴趣,我可以提供吗?
你可以用Powershell做同样的事情,但是你需要Task Scheduler来调度这个脚本,如果整个脚本都closures了,你将不会收到通知。