A device stops installing updates. Its disk fills up over four months. Nobody gets an error. There is nothing in the System log, nothing in Windows Update history, and no failed Intune policy. Six weeks earlier somebody ran a hardening script that turned off a couple of hundred scheduled tasks, and Windows quietly stopped doing its own housekeeping. This is a reference for which of those tasks actually matter, what each one does, and how to audit a fleet for the ones that have been switched off.
Windows 11 keeps its own maintenance work in the Task Scheduler library under \Microsoft\Windows\. On the Windows 11 Enterprise build 26200 device used for this article there are 284 tasks there, and 47 of them are currently Disabled, a good number of those by design, which is why "disable everything that is off by default" and "flag every disabled task" are both wrong. A disabled task does not fail and does not log: it is simply never asked to run, so component store cleanup, drive optimisation, restore points and the BitLocker MDM policy refresh stop happening silently. There is no modern Group Policy for built-in task state at all, and Intune's entire TaskScheduler policy area contains exactly one setting, so the only realistic control is read-only auditing against a known-good reference image.
The problem: the chores stop and nothing complains
Task Scheduler is not just a place for your own scripts. Windows uses it as its own to-do list. Microsoft's service documentation for the Task Scheduler service says so directly: the service "also hosts multiple Windows system-critical tasks", and if you stop or disable it "these tasks don't run at their scheduled times".
That is the part most hardening work misses. Turning a built-in task off does not produce a failure. A failure needs a run. A disabled task never gets a run. So the device keeps booting, keeps checking in to Intune, keeps reporting compliant, and quietly stops doing a job you did not know it was doing.
The symptoms show up weeks or months later, and they never point at Task Scheduler:
C:\Windows\WinSxSgrows and grows, because nothing is cleaning up superseded components any more.- System Restore has no restore points, which matters because a restore point is the recovery route Microsoft recommends for a corrupt registry hive.
- An Intune BitLocker policy arrives, lands in the registry, and encryption never starts.
- SSDs stop getting retrimmed, because drive optimisation runs from a maintenance task, not from a service.
It is worth comparing what Microsoft's own hardening guidance actually disables. In the whole of the Windows Server system services security guidance, the list of scheduled tasks Microsoft recommends disabling is two entries long: \Microsoft\XblGameSave\XblGameSaveTask and \Microsoft\XblGameSave\XblGameSaveTaskLogon. Two. A typical community "debloat" script disables somewhere between fifty and two hundred.
C:\Windows\System32\Tasks and a set of registry entries under the Task Scheduler task cache. Microsoft's own procedure for clearing a corrupt task removes both halves together. Deleting only the file leaves a registry entry pointing at nothing; deleting only the registry entry leaves a definition that Task Scheduler cannot see and will never run. Either way you get a task that is present, invisible, or both, depending on which tool you ask.
The second trap is the mirror image of the first. On the reference device for this article, 47 of the 284 built-in tasks are Disabled and that is completely normal. The two ".NET Framework NGEN ... Critical" variants, both Offline Files synchronisation tasks, RunFullMemoryDiagnostic, the two Sysmain hybrid-drive tasks and the Storage Tiers optimisation task are all switched off on a device that has no reason to run them. Any audit that flags "task is Disabled" as a fault will hand you dozens of false positives before it finds a single real one.
Why it happens: two halves of a task store and a maintenance window
Before the reference table, here is the chain, in order, from trigger to result. Every step is somewhere you can look.
- The Task Scheduler service (short name
Schedule) starts automatically at boot. It runs as LocalSystem inside a sharedsvchost.exe -k netsvcsprocess, and its service DLL is%systemroot%\system32\schedsvc.dll. - The service reads the task store. That store has two halves: the XML definition files under
C:\Windows\System32\Tasks, and the registry task cache that indexes them. - A trigger fires. Triggers can be a clock, a boot, a logon, an event, an idle period, or, for a lot of built-in tasks, nothing at all except the Automatic Maintenance window.
- The action runs. If the action is an executable, the service launches it. If the action is a COM handler,
taskhostw.exe("Host Process for Windows Tasks") loads the handler and runs it in-process. - The action's exit code is recorded as the task's LastTaskResult. If the operational event channel is enabled, the start, the action and the outcome are also written there.
Step 3 is where most of the confusion comes from. Open the definition file for the component store cleanup task and there is no schedule in it at all. This is Microsoft's own file, read straight off the device:
The <Triggers /> element being empty is not damage. It is the design. This task is an Automatic Maintenance task, and Automatic Maintenance decides when it runs.
The registry half of the task store
Everything below lives under one parent key. Microsoft's own troubleshooting article for corrupt scheduled tasks walks through each of these subkeys by name, which is how we can be confident of what they hold.
| Subkey | What it holds | Why you would read it |
|---|---|---|
Tree | The folder hierarchy you see in the Task Scheduler console. Each task appears as a key whose name is the task name, carrying an Id value in GUID form and an SD value holding the security descriptor. | This is the index. If a task's Tree key is gone, the task does not appear in the console even if its XML file is still on disk. |
Tasks | One key per task, named by the GUID from Tree, carrying a Path value with the task's library path. | Resolves a GUID back to a task path. Microsoft's cleanup procedure for legacy at tasks works from the Path value here. |
Plain | Tasks whose triggers are ordinary schedules. | Microsoft states a task exists in exactly one of Plain, Logon or Boot. Knowing which tells you the trigger class without parsing XML. |
Logon | Tasks triggered by a user logon. | Same as above. Useful when a task only misbehaves for one account. |
Boot | Tasks triggered at system startup. | Same as above. These are the ones that matter for a device that misbehaves before anyone signs in. |
Maintenance | Present on Windows 11 alongside the three documented trigger classes. Microsoft's corrupt-task article does not describe it. | Observed and undocumented. Read it for context only. Do not build detection logic on it, because an undocumented key can change in any update. |
System32\Tasks\Microsoft\Windows but 317 Tree entries carrying an Id. The 33 extras are tasks Windows used to ship and no longer does, including Application Experience\Microsoft Compatibility Appraiser, Application Experience\ProgramDataUpdater, Customer Experience Improvement Program\KernelCeipTask and the four TaskScheduler\... Maintenance tasks. Get-ScheduledTask enumerates the files, not those keys. So a task can be genuinely "missing" from the library because Microsoft retired it, not because anyone deleted it. Direction is what matters: registry-without-file is usually a retired built-in, but file-without-registry is a real, silent breakage.
The binaries in the flow
| File | What it is | Role in the flow |
|---|---|---|
C:\Windows\System32\schedsvc.dll | Task Scheduler Service | The service itself. Microsoft documents that the Schedule service's ServiceDll value must be %systemroot%\system32\schedsvc.dll, and that a missing file here produces "Error 126: The specified module could not be found" when you try to start the service. |
C:\Windows\System32\svchost.exe | Service host | Hosts the Schedule service in the netsvcs group. The service does not have a process of its own. |
C:\Windows\System32\taskhostw.exe | Host Process for Windows Tasks | Loads and runs COM-handler task actions. A lot of built-in maintenance tasks are COM handlers, so this is the process you will see doing the work. |
C:\Windows\System32\taskschd.dll | Task Scheduler COM API | The COM surface every tool goes through, including the console, schtasks.exe and the PowerShell cmdlets. |
C:\Windows\System32\taskschd.msc | Console snap-in | The Task Scheduler UI. Also the only place to turn task history on. |
C:\Windows\System32\schtasks.exe | Task Scheduler Configuration Tool | Command-line front end. Microsoft notes it "performs the same operations as Scheduled Tasks in Control Panel" and the two are interchangeable. |
C:\Windows\System32\Tasks\ | Task definition store | One extension-less UTF-16 XML file per task, in folders mirroring the library path. |
C:\Windows\Tasks\ | Legacy .job store | Where pre-Vista at tasks lived. Microsoft's corrupt-task article still tells you to check it. Empty on a clean Windows 11 install. |
The reference: built-in tasks that matter
Two rules were applied to this table. If Microsoft documents the task, the "Source" column says Doc and the description is theirs. If the task exists on a current Windows 11 install but Microsoft does not publish a reference for it, the column says Obs and you should treat the behaviour as observed rather than contractual. Nothing here came from a debloat script's comments.
Task (under \Microsoft\Windows\) | What it does | What breaks if it is disabled |
|---|---|---|
Servicing\StartComponentCleanupDoc | Cleans up and compresses superseded components in the WinSxS component store during Automatic Maintenance. Waits at least 30 days after a component update before removing the previous version, and has a one hour timeout. | The component store grows without bound and the disk fills slowly. Microsoft states plainly that it "strongly recommends not disabling component cleanup". |
Defrag\ScheduledDefragDoc | Runs the drive optimisation maintenance task, typically weekly. On SSDs, traditional defragmentation and retrim run once per month regardless of how often you change the task schedule. | Volumes are never optimised and SSDs are never retrimmed. Microsoft also lists the innocent reasons this task skips volumes: on battery, will not wake the machine, or the machine resumed from idle. |
BitLocker\BitLocker MDM policy RefreshDoc | Step 4 of Microsoft's documented Intune BitLocker flow. Replicates the BitLocker policy the MDM client received into the full volume encryption (FVE) registry key so encryption can start. | Policy arrives, lands in the registry, and encryption never begins. The Intune encryption report shows the device as not encrypted with no error in the BitLocker-API log. |
Registry\RegIdleBackupDoc | Manages registry backups into C:\Windows\System32\config\RegBack. Since Windows 10 1803 that behaviour is off by design; Microsoft states that when an administrator re-enables it, Windows creates this task in the Microsoft\Windows\Registry folder. | If you deliberately re-enabled RegBack backups, they stop. If you did not, an idle task here is expected rather than broken. |
Windows Defender\Windows Defender Scheduled ScanDoc | The scheduled antivirus scan. Microsoft's own support article points at this exact task under Task Scheduler Library > Microsoft > Windows > Windows Defender. | Scheduled scans stop. Note this task is not present on every build; on the reference device the Defender folder holds Cache Maintenance, Cleanup and Verification instead. Set the scan schedule through policy, not here. |
UpdateOrchestrator\Schedule ScanObs | Update Orchestrator scan scheduling. Microsoft documents the Orchestrator's role in scanning, downloading and installing updates, but publishes no reference for this individual task. | Scanning is orchestrated from more than one place, so a disabled task here does not always stop updates outright. Treat it as strong evidence that something bulk-disabled the folder. |
WaaSMedic\PerformRemediationObs | Runs the Windows Update medic remediation pass that repairs broken update components. | Broken update components stop self-repairing, so a device that falls out of servicing tends to stay out. |
SystemRestore\SRObs | Creates scheduled system restore points. | No automatic restore points. The recovery route Microsoft recommends for a corrupt registry hive has nothing to restore from. |
Chkdsk\ProactiveScanObs | NTFS proactive scan pass that works off recorded volume corruption during maintenance. | Recorded corruption is never cleared in the background, so it surfaces as a full chkdsk at an inconvenient boot. |
DiskCleanup\SilentCleanupObs | Runs the disk cleanup handlers silently. | Temporary and update-leftover files are never reclaimed automatically. |
TPM\Tpm-MaintenanceObs | TPM maintenance pass that runs after servicing and provisioning changes. | TPM state maintenance stops, so attestation and key provisioning problems are harder to self-heal. |
.NET Framework\.NET Framework NGEN v4.0.30319 (and the 64 variant)Obs | Rebuilds native images for managed assemblies during idle time. | Managed applications fall back to JIT compilation and start more slowly. The two matching ... Critical variants ship Disabled and should stay that way. |
Application Experience\*Obs | Compatibility and appraiser work. Microsoft documents that the compatibility appraiser runs as a scheduled task in this folder and writes to the AppCompatFlags registry subkey, and that Windows Update for Business reports and the Intune compatibility reports depend on Windows diagnostic data at the Required level or higher. | Feature-update readiness and compatibility reporting go blind, which is how a fleet ends up with no visibility into what is blocking the next Windows 11 upgrade. Task names here change between builds: the reference device has Microsoft Compatibility Appraiser Exp and no plain Microsoft Compatibility Appraiser at all. |
XblGameSave\XblGameSaveTask and XblGameSaveTaskLogonDoc | Xbox Live game save tasks. | Nothing you care about on a managed endpoint. These are the only two scheduled tasks Microsoft's Windows Server services security guidance recommends disabling. Note the path is \Microsoft\XblGameSave\, outside the \Microsoft\Windows\ subtree. |
How to verify: state, result codes, and the log that is off by default
There are three independent readings to take, and they answer different questions. State answers "will it ever run?". LastTaskResult answers "how did the last run end?". The operational event log answers "how have the last few weeks gone?". You need all three, because each one lies on its own.
1. State and last result, with PowerShell
The built-in ScheduledTasks module gives you both. Get-ScheduledTask returns the definition and the state; Get-ScheduledTaskInfo returns the run-time information for a task you pipe into it. No module needs installing; both ship with Windows.
Read the result code against Microsoft's published constants rather than guessing. These are the values that show up on built-in tasks in practice.
| LastTaskResult | Constant | How to read it |
|---|---|---|
0x00000000 | S_OK | The last run finished and reported success. This is what you want. |
0x00041300 | SCHED_S_TASK_READY | Ready to run at its next scheduled time. Benign. |
0x00041301 | SCHED_S_TASK_RUNNING | An instance is running right now. Benign. |
0x00041302 | SCHED_S_TASK_DISABLED | Will not run at the scheduled times because the task has been disabled. |
0x00041303 | SCHED_S_TASK_HAS_NOT_RUN | The task has never run. Microsoft's BitLocker troubleshooting article says exactly this. It is not a failure, and it is very common on built-in tasks whose trigger has never fired. |
0x00041304 | SCHED_S_TASK_NO_MORE_RUNS | No further runs are scheduled. Normal for one-shot provisioning tasks. |
0x00041306 | SCHED_S_TASK_TERMINATED | The last run was terminated by the user. |
0x00041307 | SCHED_S_TASK_NO_VALID_TRIGGERS | Either no triggers, or the existing ones are disabled or unset. |
0x8004130A | SCHED_E_TASK_NOT_READY | A property needed to run the task has not been set. |
0x80041321 | SCHED_E_INVALID_TASK_HASH | The task image is corrupt or has been tampered with. Investigate this one properly. |
0x80041324 | SCHED_E_TASK_ATTEMPTED | The service tried to run the task, but a constraint in the task definition blocked it. On battery is the classic cause. |
0x80041326 | SCHED_E_TASK_DISABLED | The task is disabled. |
0x8007042B | (ERROR_PROCESS_ABORTED as HRESULT) | Not a Task Scheduler constant. It is the action's own result: the hosting process ended unexpectedly. Seen on healthy maintenance tasks that were suspended mid-run. |
LastTaskResult is 0x00041303, the LastRunTime that comes back is a placeholder, not a date. On the reference device those tasks report a LastRunTime in 1932. Other builds and locales report other nonsense values. This is observed behaviour that Microsoft does not document, so never write detection logic that compares LastRunTime against "now minus N days" without first checking the result code. You will classify every never-run task as catastrophically overdue.
2. The operational event log, which is switched off by default
Task Scheduler has a dedicated channel, and Microsoft is explicit that you have to turn it on. The Intune BitLocker troubleshooting guide says it outright: "You must manually enable this event log before logging any data". Its file on disk is a 10 MB circular log with no archiving, so it is a few weeks of history at best on a busy device.
File: C:\Windows\System32\winevt\Logs\Microsoft-Windows-TaskScheduler%4Operational.evtx
Every event ID below was read from the Microsoft-Windows-TaskScheduler provider manifest on the device itself, so the wording is Microsoft's own.
| ID | Level and message | What it tells you |
|---|---|---|
| 100 | Information. "Task Scheduler started ... instance of the ... task for user ..." | The task was asked to run. The presence of 100 is proof the trigger worked. |
| 101 | Error. "Task Scheduler failed to start ... task for user ... Error Value: ..." | The launch itself failed. Read the error value, not the event. |
| 102 | Information. "Task Scheduler successfully finished ... instance of the ... task" | A clean completion. Pair 100 and 102 to time a run. |
| 103 | Error. "Task Scheduler failed to start instance ... of ... task for user ..." | Instance-level launch failure, usually a principal or credential problem. |
| 106 | Information. "User ... registered Task Scheduler task ..." | Somebody created the task. This is your audit trail for tasks appearing. |
| 111 | Information. "Task Scheduler terminated ... instance of the ... task." | The instance was ended. Read alongside 329 to work out why. |
| 141 | Information. "User ... deleted Task Scheduler task ..." | Somebody removed the task, and the event names the account. |
| 142 | Information. "User ... disabled Task Scheduler task ..." | The single most useful ID for this topic. If a hardening script switched a built-in task off, 142 records who did it and to what. |
| 200 / 201 | Information. "launched action ..." / "successfully completed task ... action ..." | Action-level start and finish. 201 is per-action success, which is a finer grain than 102. |
| 203 | Error. "Task Scheduler failed to launch action ... Error Value: ..." | The task started but its action could not be launched. Usually a missing binary or a bad path. |
| 329 | Information. "... terminated ... due to exceeding the time allocated for execution, as configured in the task definition." | The task hit its ExecutionTimeLimit. Microsoft's own user action is to increase the timeout or investigate the delay. Expect this on StartComponentCleanup, which has a documented one hour limit. |
| 332 | Warning. "did not launch task ... because user ... was not logged on when the launching conditions were met." | A user-context task fired with nobody signed in. Normal noise on shared or kiosk devices. |
Turn the channel on and check what is in it. The console is where you enable it; wevtutil is the read-only way to confirm the state without touching anything.
3. The registry half, and the service
If the console and PowerShell disagree with each other, the answer is in the task cache. Look up the task in Tree, note its Id, then confirm the same GUID exists under Tasks.
And check the service, because none of the above runs without it.
sc.exe query Schedule reports STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN, and Microsoft's own service documentation is written on the assumption that you can: "If you stop or disable this service, these tasks don't run at their scheduled times". Also note the dependency chain. Microsoft documents that if the Time Broker service (TimeBrokerSvc) is stopped or disabled, the Task Scheduler service starts and then immediately stops. If a hardening baseline disabled Time Broker, this is your cause.
The fix: manage the schedule through policy, not by disabling the task
The rule that follows from all of the above is short. If you want different behaviour, change it through the documented policy surface for that feature and leave the task enabled. Disabling the task removes the mechanism instead of changing the setting, and it removes it silently.
Group Policy: the Task Scheduler node, and why it does nothing
There is a Task Scheduler node in Group Policy. Here is how to reach it.
- Press Windows + R, type
gpedit.mscand press Enter. On a domain controller usegpmc.mscand edit a GPO instead. - Expand Computer Configuration.
- Expand Administrative Templates.
- Expand Windows Components.
- Select Task Scheduler.
- You will see seven settings, including Prohibit New Task Creation, Prohibit Task Deletion, Hide Property Pages, Prevent Task Run or End and Prohibit Drag-and-Drop.
- Double-click any of them and read the Supported on field before you configure it.
C:\Windows\PolicyDefinitions\TaskScheduler.admx, which ships with Windows 11, all fourteen policy definitions (seven settings, machine and user variants) carry supportedOn ref="windows:SUPPORTED_WindowsPreVista". The matching string in en-US\Windows.adml resolves to "Windows Server 2003, Windows XP, and Windows 2000 only". They write to Software\Policies\Microsoft\Windows\Task Scheduler5.0, a key name that gives away its age. There is no modern Group Policy setting that enables, disables or protects a built-in scheduled task. If a baseline document tells you to lock down Task Scheduler here, it is wasting a GPO.
The one Task Scheduler policy area that does apply to Windows 11 is the maintenance window, and it lives in a different node.
- In
gpedit.msc, expand Computer Configuration. - Expand Administrative Templates, then Windows Components.
- Select Maintenance Scheduler.
- Configure Automatic Maintenance Activation Boundary to move the daily maintenance start time.
- Configure Automatic Maintenance Random Delay to spread the start across a fleet rather than hammering everything at once.
- Configure Automatic Maintenance WakeUp Policy if you want machines to wake to run maintenance.
- Run
gpupdate /target:computer /forceand confirm the values landed underSoftware\Policies\Microsoft\Windows\Task Scheduler\Maintenance.
Those three settings are marked as supported on Windows 8 and later in msched.admx, so unlike the Task Scheduler node they genuinely apply. Changing the activation boundary is the correct fix for "maintenance runs at 3am and our laptops are off"; disabling the maintenance tasks is not.
Intune: what is actually there
Here is the honest answer, and it is short. Walk the Settings Catalog and see for yourself.
- Sign in to the Microsoft Intune admin center.
- Go to Devices, then Configuration.
- Select Create, then New policy.
- Set Platform to Windows 10 and later and Profile type to Settings catalog, then choose Create.
- Name the profile, then select Next.
- Choose Add settings and search the picker for
Task Scheduler. - You will find one category, Task Scheduler, containing one setting: Enable Xbox Game Save Task.
TaskScheduler area documents exactly one policy, EnableXboxGameSaveTask, at OMA-URI ./Device/Vendor/MSFT/Policy/Config/TaskScheduler/EnableXboxGameSaveTask, an integer defaulting to 0 (Disabled). That is the whole surface. There is no CSP, no Settings Catalog entry and no Endpoint Security setting that reports on or controls the state of a built-in scheduled task. Anything a vendor sells you as "scheduled task compliance" is a script running under the hood, which is fine as long as you know that is what it is.
Because there is no policy surface, the practical control is a read-only detection script plus a documented reference set. That is exactly what the companion script does, and why it is read-only by design.
Get-ScheduledTask | Where-Object { $_.TaskPath -like '\Microsoft\Windows\*' } | Select-Object TaskPath,TaskName,State | Export-Csv .\baseline.csv -NoTypeInformation
Defender: change the schedule, not the task
The Defender folder in the task library is a favourite target, and it is the clearest example of doing it the wrong way. Microsoft's support article does point you at Windows Defender Scheduled Scan in Task Scheduler for a consumer machine, but for managed devices there is a real policy surface. Use it.
- In the Intune admin center, go to Endpoint security.
- Select Antivirus.
- Choose Create Policy.
- Set Platform to Windows and Profile to Microsoft Defender Antivirus, then select Create.
- Name the profile and select Next.
- Set the scan schedule settings: Scan Parameter for quick or full, Schedule Scan Day, Schedule Scan Time and Schedule Quick Scan Time.
- Assign the profile and select Create. Leave the Defender tasks alone entirely.
The same logic applies elsewhere. For drive optimisation, change the cadence in the Optimize Drives app, which Microsoft names as the supported way to change how often the task runs, and remember that the once-a-month SSD cadence is unaffected by that change. For component store cleanup, run Dism.exe /online /Cleanup-Image /StartComponentCleanup on demand instead of leaving the task off, and understand the difference: run by hand there is no 30 day grace period and no one hour timeout.
If a task has already been disabled
Re-enabling is one command, per task, from your reference list. Do it deliberately and one folder at a time, and record what you changed.
Note that the companion script deliberately does none of this. Detection and remediation should be separate things you run at separate times, because a remediation that runs on a bad expected-set is worse than no remediation at all.
Proof it worked: a real read-only audit run
The block below is a genuine run of the companion script on the Windows 11 Enterprise build 26200 device used throughout this article, with the computer name and enrolment identifiers replaced. It is not illustrative output. Note what it does and does not flag.
The -Detailed switch prints the whole expected-task inventory rather than only the findings, which is the view you want when you are proving a device is clean rather than hunting for a fault.
References
- Security guidelines for system services in Windows Server - the Task Scheduler (
Schedule) service row, and the two Xbox tasks that are the only scheduled tasks Microsoft recommends disabling. - Scheduled tasks fail with error "Task schedular service is not available" - the authoritative walkthrough of
TaskCache\Tree,Tasks,Plain,LogonandBoot, plusC:\Windows\System32\Tasksand the legacy.jobfolder. - Troubleshoot Task Scheduler service startup failure - the
ServiceDllvalue,schedsvc.dll, and the Time Broker dependency. - Task Scheduler error and success constants (WinError.h) - every
SCHED_S_andSCHED_E_value in the result-code table above. - Automatic maintenance (Task Scheduler) - idle and AC-power scheduling, period, deadline, exclusivity, and the statement that the system suspends maintenance tasks when the user returns.
- Clean up the WinSxS folder -
StartComponentCleanup, its full library path, the 30 day grace period, the one hour timeout, and the recommendation not to disable component cleanup. - defrag command reference - the "Scheduled task" section covering the weekly maintenance task, the once-a-month SSD cadence and the Optimize Drives app.
- Troubleshooting BitLocker policies from the client side - the BitLocker MDM policy Refresh task, the requirement to manually enable the operational event log, and
0x41303meaning the task has never run. - Policy CSP - TaskScheduler - the whole of Intune's Task Scheduler surface: one setting,
EnableXboxGameSaveTask. - The system registry is no longer backed up to the RegBack folder starting in Windows 10 version 1803 - and the
RegIdleBackuptask created in theMicrosoft\Windows\Registryfolder when the behaviour is re-enabled. - schtasks command reference - the
/change,/queryand/runoperations, and the required permissions. - Get-ScheduledTaskInfo and Get-ScheduledTask - the built-in cmdlets used throughout. Note that the cmdlet reference does not define the
LastTaskResultvalues; the constants article above is where those live. - Schedule a scan in Microsoft Defender Antivirus - the Windows Defender Scheduled Scan task path, and Schedule antivirus scans using Microsoft Intune for the supported managed alternative.
- Companion script: Get-BuiltInTaskHealth.ps1 - read-only, ASCII-only, runs on Windows PowerShell 5.1 and PowerShell 7.
No community deep-dive on built-in Windows scheduled task dependencies could be verified as loading and being genuinely on this topic at the time of writing, so no MVP reference table appears here. Everything above is either a Microsoft source or is labelled as observed on the reference device.
Download it from Imran76Awan/Windows-11-Scripts — no sign-in required. It is read-only: it reports and never changes a device or anything in Intune. Validate it in your own environment before relying on the output.