Windows 7 / Getting Started

Understanding the Task Scheduler Architecture

Task Scheduler supports an isolation model in which each set of tasks running in a specific security context is started in a separate session. Task Scheduler engines running in transient processes in the user or computer context process the execution defined to be started by a trigger. Tasks can be started in a computer account context such as LocalSystem, LocalService, or NetworkService, or they may be started in a specified user context. Task Scheduler also attempts to ensure task integrity even when a user's domain credentials are updated (applies to Windows Server 2003 domains only).

Tasks can be started either locally or remotely. Each task may contain multiple actions running in series. Multiple tasks can be started in parallel or serially to perform a series of synchronized operations using the events logged by the service. A set of predefined events in the System event log as well as the private Task Scheduler Operational event log are used to record each action's execution status for monitoring, synchronization, and health management.

The simplified block diagram shown in Figure below illustrates the high-level architecture implemented in Task Scheduler 2.0 (the version in Windows Vista and later).

Task Scheduler architecture

Task Scheduler combines several components that work together to provide the Task Scheduler user interface, the task execution engine, and event tracking and management. Specifically:

  • The Task Scheduler user interface has been redesigned in the MMC .NET snap-in SchedTask.msc. This GUI includes a wizard for creating and configuring tasks and property pages that accesses the Task Scheduler service through its COM API.
  • A shared Svchost.exe loads the Task Scheduler Service DLL SchedSvc.dll using a LocalSystem account, uses the TaskSchd.dll component to interface with the Resource Manager, and uses S4U to obtain the required credentials. This service DLL also reads configuration information from the registry and writes job tasks to the disk in XML format.
  • The Transient Control Process engine TaskEng.exe runs in the context of the taskdefined user account, logs Event Log status events, and generates user processes that execute actions defined by the task.
  • The TaskComp.dll component provides backward compatibility for management and execution of tasks that were created in previous versions of Windows.
[Previous] [Contents] [Next]

In this tutorial:

  1. Windows 7 Desktop Maintenance
  2. Performance Monitoring
  3. Improvements to Performance Monitoring in Windows 7
  4. Using Performance Monitor
  5. Real-Time Performance Monitoring
  6. Performance Monitor Logging
  7. Creating a Data Collector Set
  8. Configuring a Data Collector Set
  9. Using Data Manager to View Performance Data
  10. Starting and Stopping Data Logging
  11. Viewing Performance Data
  12. Comparing Performance Monitor Logs
  13. Performance Monitor User Rights
  14. Remote Data Collection
  15. Using Windows PowerShell for Performance Monitoring
  16. Resource Monitor
  17. Overview Tab
  18. CPU Tab
  19. Memory Tab
  20. Disk Tab
  21. Network Tab
  22. Reliability Monitor
  23. How Reliability Monitor Works
  24. Windows Performance Tools Kit
  25. Event Monitoring
  26. Understanding the Windows Event Architecture
  27. Channels
  28. Improvements to Event Monitoring in Windows 7
  29. Using Event Viewer
  30. Understanding Views
  31. Viewing Event Logs
  32. Saving Event Logs
  33. Configuring Event Subscriptions
  34. Considerations for Workgroup Environments
  35. Creating a New Subscription
  36. Using the Windows Events Command-Line Utility for Event Monitoring
  37. Using Windows PowerShell for Event Monitoring
  38. Using Task Scheduler
  39. Improvements to Task Scheduler in Windows 7
  40. Understanding Tasks
  41. Understanding the Task Scheduler Architecture
  42. Understanding Task Scheduler Security
  43. Credentials Management
  44. Securing Running Tasks
  45. Understanding AT and Task Scheduler v1.0 Compatibility Modes
  46. Understanding the Task Scheduler Snap-in
  47. Understanding Default Tasks
  48. Creating Tasks
  49. Defining Triggers
  50. At Startup Trigger
  51. On Connection To AND Disconnect From User Session Triggers
  52. On Workstation Lock AND Unlock Triggers
  53. Defining Actions
  54. Defining Conditions
  55. Defining Settings
  56. Managing Tasks
  57. Viewing History
  58. Using SchTasks.exe for Creating and Managing Tasks
  59. Task Scheduler Events
  60. Troubleshooting Task Scheduler
  61. Tasks Won't Run If the Service Is Not Started
  62. The Task Will Run Only When a Certain User Is Logged On
  63. The Task Action Failed to Execute
  64. Interpreting Result and Return Codes
  65. Understanding the Windows System Assessment Tool
  66. Understanding WinSAT Assessment Tests
  67. Examining the WinSAT Features Assessment
  68. Running WinSAT from the Command Line
  69. Understanding WinSAT Command Exit Values
  70. Running WinSAT Using Performance Information and Tools
  71. System Capabilities Section
  72. OEM Upsell And Help Section
  73. Understanding Windows Error Reporting
  74. Overview of Windows Error Reporting
  75. How WER Works
  76. Store Management System
  77. ReportArchive Folder
  78. WER Service
  79. Understanding the Error Reporting Cycle
  80. Understanding WER Data
  81. Configuring WER Using Group Policy
  82. Configuring WER Using the Action Center