Windows Task Scheduler

Last updated

Windows Task Scheduler
Other namestaskschd.msc
Developer(s) Microsoft
Initial release1995;28 years ago (1995)
Written in C++
Included with
PredecessorSystem Agent
Service nameTask Scheduler (Schedule)
Type Windows service
Website docs.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page   OOjs UI icon edit-ltr-progressive.svg

Task Scheduler (formerly Scheduled Tasks) [1] is a job scheduler in Microsoft Windows that launches computer programs or scripts at pre-defined times or after specified time intervals. [2] [3] Microsoft introduced this component in the Microsoft Plus! for Windows 95 as System Agent. [4] Its core component is an eponymous Windows service. [5] The Windows Task Scheduler infrastructure is the basis for the Windows PowerShell scheduled jobs feature introduced with PowerShell v3. [6]

Contents

Task Scheduler can be compared to cron or anacron on Unix-like operating systems. This service should not be confused with the scheduler, which is a core component of the OS kernel that allocates CPU resources to processes already running.

Versions

Task Scheduler 1.0

Task Scheduler 1.0 is included with Windows NT 4.0 [7] (with Internet Explorer 4.0 or later), Windows 2000, [7] Windows XP [8] and Windows Server 2003. [9] It runs as a Windows Service, and the task definitions and schedules are stored in binary .job files. Tasks are manipulated directly by manipulating the .job files. Each task corresponds to single action. On Windows 95 (with Internet Explorer 4.0 or later), Windows 98 and Windows Me, the Task Scheduler runs as an ordinary program, mstask.exe. It also displays a status icon in the notification area on Windows 95 and Windows 98 and runs as a hidden service on Windows Me, but can be made to show a tray icon. [1] Computer programs and scripts can access the service through six COM interfaces. [10] Microsoft provides a scheduling agent DLL, a sample VBScript and a configuration file to automate Task Scheduler. [11]

In addition to the graphical user interface for Task Scheduler in Control Panel, Windows provides two command-line tools for managing scheduled task: at.exe (deprecated) [12] and schtasks.exe. [5] [13] [14] However, at.exe cannot access tasks created or modified by Control Panel or schtasks.exe. [15] Also, tasks created with at.exe are not interactive by default; interactivity needs to be explicitly requested. The binary ".job" files which the AT command produces are stored in the %WINDIR%\Tasks directory. [16] [17]

Task Scheduler 2.0

Task Scheduler 2.0 was introduced with Windows Vista [18] and included in Windows Server 2008 as well. [19] [9] The redesigned Task Scheduler user interface is now based on Management Console. In addition to running tasks on scheduled times or specified intervals, Task Scheduler 2.0 also supports calendar and event-based triggers, such as starting a task when a particular event is logged to the event log, or when a combination of events has occurred. Also, several tasks that are triggered by the same event can be configured to run either simultaneously or in a pre-determined chained sequence of a series of actions, instead of having to create multiple scheduled tasks. Tasks can also be configured to run based on system status such as being idle for a pre-configured amount of time, on startup, [20] logoff, or only during or for a specified time. XPath expressions can be used to filter events from the Windows Event Log. Tasks can also be delayed for a specified time after the triggering event has occurred, or repeat until some other event occurs. Actions that need to be done if a task fails can also be configured. The actions that can be taken in response to triggers, both event-based as well as time-based, not only include launching applications but also take a number of custom actions. Task Scheduler includes a number of actions built-in, spanning a number of applications; including send an e-mail, show a message box, or fire a COM handler when it is triggered. Custom actions can also be specified using the Task Scheduler API. Task Scheduler keeps a history log of all execution details of all the tasks. [21] Windows Vista uses Task Scheduler 2.0 to run various system-level tasks; [22] consequently, the Task Scheduler service can no longer be disabled (except with a simple registry tweak).

Task Scheduler 2.0 in Windows 7 Windows 7 Task Scheduler.png
Task Scheduler 2.0 in Windows 7

Task Scheduler 2.0 exposes an API to allow computer programs and scripts create tasks. [19] [23] It consists of 42 COM interfaces. [24] The Windows API does not, however, include a managed wrapper for Task Scheduler though an open source implementation exists. [25] The job files for Task Scheduler 2.0 are XML-based, and are human-readable, conforming to the Task Scheduler Schema. [19] [23]

Other features

  • New security features, including using Credential Manager to passwords for tasks on workgroup computers and using Active Directory for task credentials on domain-joined computers so that they cannot be retrieved easily. Also, scheduled tasks are executed in their own session, instead of the same session as system services or the current user.
  • Ability to wake up a machine remotely or using BIOS timer from sleep or hibernation to execute a scheduled task or run a previously scheduled task after a machine gets turned on.
  • Ability to attach tasks to events directly from the Event Viewer.

Tasks

The Task Scheduler service works by managing Tasks; Task refers to the action (or actions) taken in response to trigger(s). A task is defined by associating a set of actions, which can include launching an application or taking some custom-defined action, to a set of triggers, which can either be time-based or event-based. In addition, a task also can contain metadata that defines how the actions will be executed, such as the security context the task will run in. Tasks are serialized to .job files and are stored in the special folder titled Task Folder, organized in subdirectories. Programmatically, the task folder is accessed using the ITaskFolder interface or the TaskFolder scripting object and individual tasks using the IRegisteredTask interface or RegisteredTask object. [26]

Column 'Last Result'

The Last Result column displays a completion code. The common codes for scheduled tasks are: [27] [28]

Bugs

On Windows 2000 and Windows XP, when a computer is prepared for disk imaging with the sysprep utility, it cannot run tasks configured to run in the context of the SYSTEM account. Sysprep changes the security identifier (SID) to avoid duplication but does not update scheduled tasks to use the new SID. Consequently, the affected tasks fail to run. There is no solution for this problem but one may reschedule the affected tasks to work around the issue. [29]

On Windows Vista or Windows Server 2008, the next execution time displayed in Task Scheduler may be wrong. Microsoft issued a hotfix to remedy this issue. [30]

See also

Related Research Articles

<span class="mw-page-title-main">Windows 2000</span> Fifth major release of Windows NT, released in 2000

Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was released to manufacturing on December 15, 1999, and was officially released to retail on February 17, 2000 and September 26, 2000 for Windows 2000 Datacenter Server. It was Microsoft's business operating system until the introduction of Windows XP Professional in 2001.

NTLDR is the boot loader for all releases of Windows NT operating system from 1993 with the release of Windows NT 3.1 up until Windows XP and Windows Server 2003. From Windows Vista onwards it was replaced by the BOOTMGR bootloader. NTLDR is typically run from the primary storage device, but it can also run from portable storage devices such as a CD-ROM, USB flash drive, or floppy disk. NTLDR can also load a non NT-based operating system given the appropriate boot sector in a file.

<span class="mw-page-title-main">File Explorer</span> File manager application that is included with releases of the Microsoft Windows operating system

File Explorer, previously known as Windows Explorer, is a file manager application and default desktop environment that is included with releases of the Microsoft Windows operating system from Windows 95 onwards. It provides a graphical user interface for accessing the file systems. It is also the component of the operating system that presents many user interface items on the screen such as the taskbar and desktop. Controlling the computer is possible without File Explorer running.

<span class="mw-page-title-main">Windows Registry</span> Database for Microsoft Windows

The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, and user interfaces can all use the registry. The registry also allows access to counters for profiling system performance.

AutoRun and the companion feature AutoPlay are components of the Microsoft Windows operating system that dictate what actions the system takes when a drive is mounted.

AutoPlay, a feature introduced in Windows 98, examines newly discovered removable media and devices and, based on content such as pictures, music or video files, launches an appropriate application to play or display the content. It is closely related to the AutoRun operating system feature. AutoPlay was created in order to simplify the use of peripheral devices – MP3 players, memory cards, USB storage devices and others – by automatically starting the software needed to access and view the content on these devices. AutoPlay can be enhanced by AutoPlay-compatible software and hardware. It can be configured by the user to associate favourite applications with AutoPlay events and actions.

<span class="mw-page-title-main">System Restore</span> System recovery feature in Microsoft Windows

System Restore is a feature in Microsoft Windows that allows the user to revert their computer's state to that of a previous point in time, which can be used to recover from system malfunctions or other problems. First included in Windows Me, it has been included in all following desktop versions of Windows released since, excluding Windows Server. In Windows 10, System Restore is turned off by default and must be enabled by users in order to function. This does not affect personal files such as documents, music, pictures, and videos.

As the next version of Windows NT after Windows 2000, as well as the successor to Windows Me, Windows XP introduced many new features but it also removed some others.

The booting process of Windows NT is the process run to start Windows NT. The process has been changed between releases, with the biggest changes being made with Windows Vista. In versions before Vista, the booting process begins when the BIOS loads the Windows NT bootloader, NTLDR. Starting with Vista, the booting process begins with either the BIOS or UEFI load the Windows Boot Manager, which replaces NTLDR as the bootloader. Next, the bootloader starts the kernel, which starts the session manager, which begins the login process. Once the user is logged in, File Explorer, the graphical user interface used by Windows NT, is started.

Compared with previous versions of Microsoft Windows, features new to Windows Vista are very numerous, covering most aspects of the operating system, including additional management features, new aspects of security and safety, new I/O technologies, new networking features, and new technical features. Windows Vista also removed some others.

The Prefetcher is a component of Microsoft Windows which was introduced in Windows XP. It is a component of the Memory Manager that can speed up the Windows boot process and shorten the amount of time it takes to start up programs. It accomplishes this by caching files that are needed by an application to RAM as the application is launched, thus consolidating disk reads and reducing disk seeks. This feature was covered by US patent 6,633,968.

<span class="mw-page-title-main">Microsoft Management Console</span> Component of Microsoft Windows

Microsoft Management Console (MMC) is a component of Microsoft Windows that provides system administrators and advanced users an interface for configuring and monitoring the system. It was first introduced in 1998 with the Option Pack for Windows NT 4.0 and later came pre-bundled with Windows 2000 and its successors.

<span class="mw-page-title-main">Event Viewer</span> Component of Microsofts Windows NT operating system

Event Viewer is a component of Microsoft's Windows NT operating system that lets administrators and users view the event logs on a local or remote machine. Applications and operating-system components can use this centralized log service to report events that have taken place, such as a failure to start a component or to complete an action. In Windows Vista, Microsoft overhauled the event system.

<span class="mw-page-title-main">User Account Control</span> Security software

User Account Control (UAC) is a mandatory access control enforcement feature introduced with Microsoft's Windows Vista and Windows Server 2008 operating systems, with a more relaxed version also present in Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012, Windows 8.1, Windows Server 2012 R2, Windows 10, and Windows 11. It aims to improve the security of Microsoft Windows by limiting application software to standard user privileges until an administrator authorises an increase or elevation. In this way, only applications trusted by the user may receive administrative privileges and malware are kept from compromising the operating system. In other words, a user account may have administrator privileges assigned to it, but applications that the user runs do not inherit those privileges unless they are approved beforehand or the user explicitly authorises it.

In Windows NT operating systems, a Windows service is a computer program that operates in the background. It is similar in concept to a Unix daemon. A Windows service must conform to the interface rules and protocols of the Service Control Manager, the component responsible for managing Windows services. It is the Services and Controller app, services.exe, that launches all the services and manages their actions, such as start, end, etc.

Windows Vista has many significant new features compared with previous Microsoft Windows versions, covering most aspects of the operating system.

Windows Vista contains a range of new technologies and features that are intended to help network administrators and power users better manage their systems. Notable changes include a complete replacement of both the Windows Setup and the Windows startup processes, completely rewritten deployment mechanisms, new diagnostic and health monitoring tools such as random access memory diagnostic program, support for per-application Remote Desktop sessions, a completely new Task Scheduler, and a range of new Group Policy settings covering many of the features new to Windows Vista. Subsystem for UNIX Applications, which provides a POSIX-compatible environment is also introduced.

<span class="mw-page-title-main">Windows Search</span> Desktop search platform by Microsoft

Windows Search is a content index desktop search platform by Microsoft introduced in Windows Vista as a replacement for both the previous Indexing Service of Windows 2000 and the optional MSN Desktop Search for Windows XP and Windows Server 2003, designed to facilitate local and remote queries for files and non-file items in compatible applications including Windows Explorer. It was developed after the postponement of WinFS and introduced to Windows constituents originally touted as benefits of that platform.

Some of the new features included in Windows 7 are advancements in touch, speech and handwriting recognition, support for virtual hard disks, support for additional file formats, improved performance on multi-core processors, improved boot performance, and kernel improvements.

References

  1. 1 2 "How to Enable the Scheduled Tasks Icon in Windows Me". Support. Microsoft. January 29, 2007. Archived from the original on January 30, 2008.
  2. "Keep your Windows desktop in shape with Task Scheduler". TechRepublic . January 4, 2002.
  3. "What is Task Scheduler?". Computer Hope. November 30, 2020.
  4. Al Fasoltd (March 29, 1998). "Windows 98: Stable and fast, as well as 'new and improved'". The Syracuse Newspapers. Retrieved October 6, 2007.
  5. 1 2 Mueller, John Paul (2010). Windows Command Line Administration Instant Reference. John Wiley & Sons. ISBN   978-0470930908.
  6. Warner, Timothy L. (2015). Sams Teach Yourself Windows PowerShell in 24 Hours. Sams Publishing. ISBN   978-0134049359.
  7. 1 2 Burnett, Mark; Amaris, Chris; Doyle, Chris; Locher, L. J.; Morimoto, Rand (2002). Maximum Windows 2000 Security. Sams Publishing. ISBN   978-0672319655.
  8. Mueller, John Paul (2001). Sams Teach Yourself Microsoft Windows XP in 21 Days. Sams Publishing. ISBN   978-0132715539.
  9. 1 2 "About the Task Scheduler". MSDN . Microsoft . Retrieved October 6, 2007.
  10. "Task Scheduler 1.0 Interfaces". MSDN . Microsoft . Retrieved May 30, 2014.
  11. "Task Scheduler Using VBScript". Download Center. Microsoft. March 22, 2004. Archived from the original on May 4, 2006.
  12. "MS-DOS and Windows command line at command". Computer Hope. Retrieved March 7, 2021.
  13. "Schtasks". Microsoft TechNet . Microsoft . Retrieved May 18, 2014.
  14. "At". Microsoft TechNet . Microsoft . Retrieved May 18, 2014.
  15. "How To Use the AT Command to Schedule Tasks". Support. Microsoft. October 30, 2006.
  16. Kleiman, Dave; Hunter, Laura E (2006). Winternals Defragmentation, Recovery, and Administration Field Guide. Elsevier. ISBN   978-0080489872.
  17. "Applications Started with AT Are Not Interactive". Support. Microsoft. February 20, 2007. Archived from the original on October 29, 2004.
  18. Cowart, Robert; Knittel, Brian (2008). Special Edition Using Microsoft Windows Vista. Que Publishing. ISBN   978-0789737816.
  19. 1 2 3 Kingsley-Hughes, Adrian; Kingsley-Hughes, Kathie; Read, Daniel (2011). VBScript Programmer's Reference. John Wiley & Sons. ISBN   978-1118058695.
  20. Paul, Ian (September 5, 2014). "Automate your morning programs with Windows Task Scheduler". PCWorld . Retrieved March 15, 2021.
  21. "Windows Vista Task Scheduler". Microsoft TechNet . Microsoft. March 3, 2006. Archived from the original on April 12, 2006. Retrieved April 24, 2006.
  22. "Description of the scheduled tasks in Windows Vista". August 24, 2007. Archived from the original on October 22, 2007.
  23. 1 2 Kenny Kerr (October 2007). "Task Scheduler 2.0". MSDN . Microsoft. Archived from the original on December 26, 2007. Retrieved October 6, 2007.
  24. "Task Scheduler 2.0 Interfaces". MSDN . Microsoft . Retrieved May 30, 2014.
  25. "C# API for Task Scheduler 2.0". Stack Overflow. Retrieved July 24, 2019.
  26. "Tasks (Windows)". MSDN . Microsoft . Retrieved October 6, 2007.
  27. "How to troubleshoot scheduled tasks in Windows XP and in Windows Server 2003". Support. Microsoft. May 22, 2013. Retrieved September 3, 2013.
  28. "Task Scheduler Error and Success Constants". MSDN . Microsoft.
  29. "Scheduled tasks may not start if you used a System Preparation image to install Windows XP or Windows 2000". Support. Microsoft. July 1, 2004. Archived from the original on September 26, 2008. Retrieved May 19, 2012.
  30. "The value in the Next Run Time field in Task Scheduler is incorrect in Windows Vista and in Windows Server 2008". Support. Microsoft. October 15, 2008. Archived from the original on December 11, 2008.

Further reading