TaskScheduler/Operational.evtx
C:\Windows\System32\winevt\Logs\Microsoft-Windows-TaskScheduler%4Operational.evtxChecking raw Task Scheduler XML files shows you the blueprint - watching this log shows you the building being constructed and used. It records exactly when a task was registered, modified, deleted and when it actually fired, providing a precise execution timeline that static artifact analysis simply cannot deliver.
Microsoft-Windows-TaskScheduler/Operational - written by the Task Scheduler service (Schedule)
General
The TaskScheduler Operational log is written by the Windows Task Scheduler service and provides a granular execution audit trail for every task on the system. Unlike the static XML task definitions in C:\Windows\System32\Tasks, this log tells you what actually happened at runtime - when the trigger fired, whether the action succeeded and what error codes were returned on failure. This matters enormously in investigations where an attacker has registered a task, let it run and then deleted it: the Operational log retains the execution record even after the task XML is gone.
Traces
The most forensically significant Event IDs in the TaskScheduler Operational log are:
| Event ID | Description |
|---|---|
| 106 | Task registered. Records the task name, path and the user identity that created it. The primary indicator of new persistence being established. |
| 140 | Task updated. An attacker may hijack a legitimate task and modify its action to also execute a malicious payload alongside the original one. |
| 141 | Task deleted. Documents the removal of a task - useful for confirming that an attacker cleaned up a persistence mechanism after use. |
| 200 | Task action started. Confirms that the scheduled binary or script actually launched. Contains the task name and the exact action path. |
| 201 | Task action completed. Records the result code of the executed action - a non-zero return value can reveal execution failures or errors in the payload. |
Forensic Value
- Prove that a persistence mechanism actually ran: Event ID 200 confirms a task action fired. This is critical for tasks already deleted from Scheduled Tasks.
- Detect task hijacking: A 140 (task updated) event on a legitimate task followed by an unexpected binary path is a strong indicator of persistence via modification.
- Attribute task creation to a user: Event ID 106 records the creating user identity, allowing you to attribute persistence to a specific account.
- Map the full persistence lifecycle: Chain 106 (created), 200/201 (ran) and 141 (deleted) events to reconstruct the complete operational timeline.
For more Info check out these Articles: Scheduled Tasks