Task Scheduler


The Task Scheduler enables you to automatically perform routine tasks on a chosen computer. The Task Scheduler does this by monitoring whatever criteria you choose to initiate the tasks (referred to as triggers) and then executing the tasks when the criteria is met.

Where applicable

The Task Scheduler can be used to execute tasks such as starting an application, sending an email message, or showing a message box. Tasks can be scheduled to execute:

  • When a specific system event occurs.
  • At a specific time.
  • At a specific time on a daily schedule.
  • At a specific time on a weekly schedule.
  • At a specific time on a monthly schedule.
  • At a specific time on a monthly day-of-week schedule.
  • When the computer enters an idle state.
  • When the task is registered.
  • When the system is booted.
  • When a user logs on.
  • When a Terminal Server session changes state.

Developer audience

The Task Scheduler provides APIs for the following developers:

  • Task Scheduler 1.0: Interfaces are provided for C++ development.
  • Task Scheduler 2.0: Interfaces and objects are provided for C++ and scripting development respectively.

Run-time requirements

The Task Scheduler requires the following operating systems.

  • Task Scheduler 1.0: Client requires Windows Vista, or Windows XP. Server requires Windows Server 2008 or Windows Server 2003.
  • Task Scheduler 2.0: Client requires Windows Vista. Server requires Windows Server 2008.

In this section

Topic Description
What's New in Task Scheduler
Summary of new functionality introduced by the Task Scheduler.
About the Task Scheduler
General conceptual information about the Task Scheduler API.
Using the Task Scheduler
Code examples that show how to use the Task Scheduler APIs.
Task Scheduler Reference
Detailed reference information for Task Scheduler APIs and the Task Scheduler schema.