ParseScheduledTasksXML Hands-on Labs¶
Choose the browser simulation for coached command and CSV practice, or complete the Full Lab with supplied scheduled-task evidence in an isolated Windows VM.
Interactive Lab¶
Hands-on scheduled-task proof of concept
Parse it. Filter it. Corroborate it.
Turn verified task XML into reviewable derived output, identify one focused lead and explain what the definition can and cannot support.
Full Lab¶
Scheduled Task Definition Full Lab
Use supplied or authorised evidence
Prefer the supplied Tasks directory. Parsing a live System32\Tasks
directory creates host activity and may encounter changing or locked data.
Objective¶
For case SUSA-PST-072, determine whether the supplied task definitions contain
an enabled task named \SystemHealthUpdate that launches PowerShell as
SYSTEM, preserve the parsed result, and state what further evidence is needed
to assess execution and intent.
Verified Tasks directory, manifest, Task Scheduler Operational EVTX and payload metadata.
Recorded ParseScheduledTasksXML script, PowerShell and Timeline Explorer.
Separate source, derived, exports and notes directories on controlled storage.
01
Activity 1: Establish the boundary¶
- Record authority, case question, host/image identity, source time zone and examiner.
- Verify the supplied manifest and identify the Tasks working copy.
- Record script source, retrieval/commit reference, path, SHA-256 and effective execution policy.
- Create empty
derived,exportsandnotesdirectories. - Count the supplied task files and record inaccessible or malformed items.
02
Activity 2: Parse and triage¶
- Run the parser against the verified Tasks directory with
-Outputpointing toderived. - Record the exact command, start/finish time, console messages and generated filename.
- Hash the CSV, record its row count and compare it with the source-file count.
- Open the CSV in Timeline Explorer and filter for
SystemHealthUpdate. - Preserve the full selected row and neighbouring context, including principal, logon type, enabled state and complete action string.
03
Activity 3: Corroborate and report¶
- Inspect the original task XML and compare it with the parsed row.
- Review supplied Task Scheduler Operational events for registration and execution-related records.
- Establish whether the configured payload existed and preserve its metadata and hash.
- Add relevant process, PowerShell or Prefetch evidence if supplied.
- Report observation, interpretation, confidence, competing explanations and limitations separately.
Case question and authority:
Source identity, path, count and manifest:
Parser identity, command and output hash:
Selected task fields and original XML path:
Corroborating records:
Conclusion, confidence and limitations:
Troubleshooting¶
| Symptom | First check |
|---|---|
| Script will not run | Confirm script path, policy scope, hash review and PowerShell errors. |
-Path is rejected |
Confirm an existing directory and readable evidence copy. |
-Output is rejected |
Create the destination directory before running the parser. |
| Rows are missing | Compare counts and inspect malformed/unreadable XML individually. |
| Timeline filter finds nothing | Clear filters, confirm the complete task name and inspect action arguments. |
| Execution remains uncertain | Review Task Scheduler logs and independent process/payload evidence. |
Clean up¶
Close Timeline Explorer and PowerShell, preserve verified source and case output, remove disposable working material only when authorised, and restore the lab VM snapshot.