How does Windows Task Scheduler in Win7 recognize a failed task?
scheduled-tasks, windows-7
Solution
Create a new task and set the custom event query like this:
<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>
Set the trigger advanced settings to Delay the task for a period of time like 15 minutes.
Configure the action of the new task to start a program:
Program/script:
schtasks
Add arguments:
/Run /TN "\YOUR TASK NAME HERE"
This will schedule the original task to run again 15 minutes after a non-zero result code is logged in the event.
Problem
I am working with Windows 7 and I have an application that returns zero (0x0) when successful and one (0x1) on error situations. I have scheduled this app using Windows Task Scheduler. I have checked the option boxes "If the task fails, restart every" and "Attempt to restart up to:". I thought that a non-zero return code from the app would be enough to trigger the task to be restarted after the given interval. But nothing happens. Any ideas what could be the issue? I tried to google it but did not found anything relevant.