У меня есть приложение (.exe), которое я запускаю через запланированную задачу в Windows Server 2008 R2. Задача выполняется нормально, но когда .exe возвращает ненулевой код выхода, задача по-прежнему выполняется успешно, хотя она должна завершиться ошибкой.
Я получаю это сообщение:
Планировщик задач успешно выполнил задачу «\ CustomerDataSourceETL - Whics», экземпляр «{a574f6b4-2614-413c-8661-bc35eaeba7cd}», действие «E: \ applications \ CCDB-ETL \ CustomerDataSourceETLConsole.exe» с кодом возврата 214794259.
Как я могу заставить планировщик задач определить, что код возврата> 0, и не выполнить задачу?
Я не думаю, что вы можете что-то сделать в планировщике задач, кроме как вручную проверить столбец «Результат последнего запуска». Журнал событий также создает информационную запись в обоих случаях.
Планировщик заданий в Vista и более поздних версиях поставляется с улучшенным API чем старые, и вы можете использовать его для проверки LastTaskResult вашей задачи.
Я написал службу Windows, которая каждый час проверяет все мои задачи на предмет каких-либо результатов, отличных от 0, и отправляет мне электронное письмо, если они обнаруживаются. Я могу сделать это доступным, если кому-то интересно?
Вы можете сделать то же самое с Powershell, но тогда вам понадобится планировщик задач, чтобы запланировать этот сценарий, и вы не получите уведомление, если все это выйдет из строя.