Ah, this is an easy one.
Whenever WinCron starts, it checks to see if a job is past due.
In your case, it is in fact, past due and must run it. (WinCron has no way to know it has already run this job before the reboot.)
The solution is to constrain the window of execution to within a set amount of time.
To do this, we simply add a constrain directive and specify a 5 minute window.
Therefore, when the system reboots at 4AM, this will fall outside the 3AM + 5 minute grace period and will not fire.
# Daily event, never expires
{
-start -time 03:00:00 AM -constrain 0 0 5 0
-command Defrag /s /f
-action -inc 1 0 0 0
-action -print Running defrag now
}
_________________________
Regards,
Luke Tomasello