What's New in Task Scheduler
The following changes summarize what is new in different versions of Task Scheduler.
Windows 10 (and Windows Server 2016)
The following Task Scheduler changes are introduced in Windows 10.
When battery saver is on, Windows Task Scheduler tasks are triggered only if the task is:
- Not set to Start the task only if the computer is idle... (task doesn't use IdleSettings)
- Not set to run during automatic maintenance (task doesn't use MaintenanceSettings)
- Is set to Run only when user is logged on (task LogonType is TASK_LOGON_INTERACTIVE_TOKEN or TASK_LOGON_GROUP)
All other triggers are delayed until battery saver is off. For more information about accessing battery saver status in your application, see SYSTEM_POWER_STATUS. For general information about battery saver, see battery saver (in the hardware component guidelines).
For security reasons, a non-administrator user cannot view nor manage a Windows Task Scheduler task that was created by another user.
The following Task Scheduler 2.0 changes are introduced in Windows 8:
- Powershell support: users can manage (create, delete, modify, explicitly start, stop etc.) Windows Task Scheduler tasks using the ScheduledTasks powershell module.
- Managed passwords: administrators can use the Active Directory managed password accounts as task principals. These tasks no longer require an enforced password reset policy.
- API changes: Introduced two new task settings with the ITaskSettings3 interface.
- MaintenanceSettings: tasks using these settings are treated as a new type of scheduled tasks that are invoked during OS automatic maintenance time, according to the specified periodicity and deadline.
- Volatile: tasks that are set to be volatile are always disabled on an OS boot and must be explicitly re-enabled back when required. Volatile tasks are utilized by the failover clusters to ensure only one task instance is scheduled on a cluster at a time.
- The unified scheduling engine now supports the following features:
- S4U Logon type, through the LogonType element.
- XPath query values for event triggers, through the ValueQueries element.
- Do not allow task hard terminate, through the AllowHardTerminate element.
- Features deprecated in this release
- Action: sendEmail (you can use IExecAction with the Windows PowerShell Send-MailMessage cmdlet as a workaround).
- Action: showMessage.
- AT.exe cmdline utility
The following Task Scheduler 2.0 changes are introduced in Windows 7:
Using the unified scheduling engine provided by the underlying operating system.
Ability to reject starting tasks in Remote Applications Integrated Locally (RAIL) sessions.
Task security hardening (for tasks running as "NETWORK SERVICE" or "LOCAL SERVICE" only):
- Ability to assign a process token security identifier (SID) type (for example, unrestricted or none) to a task.
- Allow task developers to request the exact set of privileges that their task requires.
Task security hardening support: new task security hardening feature is introduced with new IPrincipal2 interface.
Introduced two new task settings with the new ITaskSettings2 interface.
DisallowStartOnRemoteAppSession: The new DisallowStartOnRemoteAppSession setting can reject a task start if triggered in Remote Applications Integrated Locally (RAIL) sessions.
UseUnifiedSchedulingEngine: Using the UseUnifiedSchedulingEngine setting provides a cohesive behavior for Windows Tasks and Services because it is being managed in a uniform manner by a common system-wide scheduling engine. Although using a unified engine is recommended, it does not support some of the Task Scheduler features. If the combination of properties will not allow running of the task under a unified engine, the registration of such will be rejected.
The task features that are not supported by the unified scheduling engine include:
Multiple instance policy:
The Task Scheduler 2.0 API should be used in developing applications that use the Task Scheduler service on Windows Vista. For more information, see Task Scheduler Reference and Using the Task Scheduler.
Windows 2000, Windows XP, and Windows Server 2003
The Task Scheduler 2.0 API is not available. Use Task Scheduler 1.0.