Jump to content

Windows Task Scheduler: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Windows Task Scheduler is included in ReactOS too, added it to infobox
 
(28 intermediate revisions by 19 users not shown)
Line 1: Line 1:
{{Short description|Computer application of Microsoft Windows}}
{{distinguish|Windows Task Manager}}
{{distinguish|Windows Task Manager}}
{{Use mdy dates|date=December 2022}}
<!-- Please do not remove or change this AfD message until the discussion has been closed. -->
{{Article for deletion/dated|page=Windows Task Scheduler|timestamp=20210306054344|year=2021|month=March|day=6|substed=yes|help=off}}
<!-- Once discussion is closed, please place on talk page: {{Old AfD multi|page=Windows Task Scheduler|date=6 March 2021|result='''keep'''}} -->
<!-- End of AfD message, feel free to edit beyond this point -->
{{Infobox software
{{Infobox software
| name =
| name = Windows Task Scheduler
| screenshot = Windows 7 Task Scheduler.png
| screenshot = Windows Task Scheduler.png
| screenshot_size = 300px
| screenshot_size = 300px
| caption = [[Microsoft Management Console|Management console]] for Task Scheduler 2.0 in [[Windows 7]]
| caption = [[Microsoft Management Console|Management console]] for Task Scheduler 3.0 in [[Windows 11]]
| developer = [[Microsoft]]
| developer = [[Microsoft]]
| released = {{Start date and age|1995}}
| released = {{Start date and age|1995}}
| other_names = <code>taskschd.msc</code>
| other_names = <code>taskschd.msc</code>
| replaces = System Agent
| replaces = System Agent
| service_name = Task Scheduler (<code>Schedule</code>)
| service_name = Task Scheduler (<code>Schedule</code>)
| programming language = [[C++]]
| programming language = [[C++]]
| included with = * [[Internet Explorer 4.0]] and later<br />([[Windows 95]] and [[Windows NT 4.0]])
| included with = * [[Internet Explorer 4.0]] and later<br />([[Windows 95]] and [[Windows NT 4.0]])
* [[Windows 98]] and later<br />(Windows 9x family)
* [[Windows 98]] and later<br />(Windows 9x family)
* [[Windows 2000]] and later<br />(Windows NT family)
* [[Windows 2000]] and later<br />(Windows NT family)
* [[ReactOS]]<br />(Windows NT-like)
| genre = [[Windows service]]
| genre = [[Windows service]]
}}
}}
'''Task Scheduler''' is a component of [[Microsoft Windows]] that provides the ability to schedule the launch of programs or scripts at pre-defined times or after specified time intervals: [[job scheduling]] (task scheduling).<ref>{{Cite web|title=Keep your Windows desktop in shape with Task Scheduler|work=[[TechRepublic]]|date=2002-01-04|url=https://www.techrepublic.com/article/keep-your-windows-desktop-in-shape-with-task-scheduler/}}</ref><ref>{{Cite web|title=What is Task Scheduler?|work=[[Computer Hope]]|date=2020-11-30|url=https://www.computerhope.com/jargon/t/tasksced.htm}}</ref> It is implemented as a [[Windows service]]<ref name="Mueller-2010">{{cite book|author-first=John Paul|author-last=Mueller|year=2010|title=Windows Command Line Administration Instant Reference|publisher=[[John Wiley & Sons]]|isbn=978-0470930908}}</ref> and was first introduced in the [[Microsoft Plus!]] for [[Windows 95]] as ''System Agent''<ref>{{cite web
'''Task Scheduler''' (formerly '''Scheduled Tasks''')<ref name=":0" /> is a [[job scheduler]] in [[Microsoft Windows]] that launches [[computer program]]s or scripts at pre-defined times or after specified time intervals.<ref>{{Cite web|title=Keep your Windows desktop in shape with Task Scheduler|work=[[TechRepublic]]|date=January 4, 2002|url=https://www.techrepublic.com/article/keep-your-windows-desktop-in-shape-with-task-scheduler/}}</ref><ref>{{Cite web|title=What is Task Scheduler?|work=Computer Hope|date=November 30, 2020|url=https://www.computerhope.com/jargon/t/tasksced.htm}}</ref> Microsoft introduced this component in the [[Microsoft Plus!]] for [[Windows 95]] as ''System Agent.''<ref>{{cite web|author=Al Fasoltd|date=March 29, 1998|title=Windows 98: Stable and fast, as well as 'new and improved'|url=http://www.technofileonline.com/texts/tec032998.html|access-date=October 6, 2007|publisher=The Syracuse Newspapers}}</ref> Its core component is an eponymous [[Windows service]].<ref name="Mueller-2010">{{cite book|author-first=John Paul|author-last=Mueller|year=2010|title=Windows Command Line Administration Instant Reference|publisher=[[John Wiley & Sons]]|isbn=978-0470930908}}</ref> The Windows Task Scheduler infrastructure is the basis for the [[Windows PowerShell]] scheduled jobs feature introduced with PowerShell v3.<ref>{{cite book|author-last=Warner|author-first=Timothy L.|year=2015|title=Sams Teach Yourself Windows PowerShell in 24 Hours|publisher=[[Sams Publishing]]|isbn=978-0134049359}}</ref>
| url = http://www.technofileonline.com/texts/tec032998.html
| title = Windows 98: Stable and fast, as well as 'new and improved'
| author = Al Fasoltd
| publisher = The Syracuse Newspapers
| date = March 29, 1998
| access-date = 2007-10-06
}}</ref> but was renamed to ''Task Scheduler'' in [[Internet Explorer 4.0]] and [[Windows 98]]. The [[Windows Event Log]] service must be running before the Task Scheduler starts up.


This service should not be confused with the [[Scheduling (computing)#Windows|scheduler]], which is a core component of the OS [[kernel (computing)|kernel]] that allocates [[CPU]] resources to processes already running.
Task Scheduler can be compared to [[cron]] or [[anacron]] on [[Unix-like]] [[operating system]]s. This service should not be confused with the [[Scheduling (computing)#Windows|scheduler]], which is a core component of the OS [[kernel (operating system)|kernel]] that allocates [[CPU]] resources to processes already running.


==Versions==
==Versions==
Line 37: Line 29:
| url = http://msdn2.microsoft.com/en-us/library/aa446802.aspx
| url = http://msdn2.microsoft.com/en-us/library/aa446802.aspx
| title = About the Task Scheduler
| title = About the Task Scheduler
| access-date = 2007-10-06
| access-date = October 6, 2007
| work = [[MSDN]]
| work = [[MSDN]]
| publisher = [[Microsoft]]
| publisher = [[Microsoft]]
}}</ref> It runs as a [[Windows Service]], and the task definitions and schedules are stored in [[Binary file|binary]] <code>.job</code> files. Tasks are manipulated directly by manipulating the <code>.job</code> 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, <code>mstask.exe</code>. 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.<ref>{{cite web|url=http://support.microsoft.com/kb/272962|title=How to Enable the Scheduled Tasks Icon in Windows Me|date=January 29, 2007|work=Support|publisher=[[Microsoft]]|url-status=dead|archive-url=https://web.archive.org/web/20080130185556/http://support.microsoft.com/kb/272962|archive-date=January 30, 2008}}</ref> Computer programs and [[Scripting language|scripts]] can access the service through six [[Component Object Model|COM]] [[Interface (computing)|interfaces]].<ref>{{Cite web|url = https://msdn.microsoft.com/en-us/library/windows/desktop/aa383581%28v=vs.85%29.aspx|title = Task Scheduler 1.0 Interfaces|access-date = 30 May 2014|website = [[MSDN]]|publisher = [[Microsoft]]}}</ref> Microsoft provides a scheduling agent DLL, a sample [[VBScript]] and a configuration file to automate Task Scheduler.<ref>{{cite web|url=http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=601d75e2-f907-4e51-ad88-adb818df1d27|title=Task Scheduler Using VBScript|work=Download Center|publisher=[[Microsoft]]|date=March 22, 2004|url-status=dead|archive-url=https://web.archive.org/web/20060504033359/http://www.microsoft.com/downloads/details.aspx?FamilyID=601d75e2-f907-4e51-ad88-adb818df1d27&displaylang=en|archive-date=May 4, 2006}}</ref>
}}</ref> It runs as a [[Windows Service]], and the task definitions and schedules are stored in [[Binary file|binary]] <code>.job</code> files. Tasks are manipulated directly by manipulating the <code>.job</code> 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, <code>mstask.exe</code>. 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.<ref name=":0">{{cite web|url=http://support.microsoft.com/kb/272962|title=How to Enable the Scheduled Tasks Icon in Windows Me|date=January 29, 2007|work=Support|publisher=[[Microsoft]]|url-status=dead|archive-url=https://web.archive.org/web/20080130185556/http://support.microsoft.com/kb/272962|archive-date=January 30, 2008}}</ref> Computer programs and [[Scripting language|scripts]] can access the service through six [[Component Object Model|COM]] [[Interface (computing)|interfaces]].<ref>{{Cite web|url = https://msdn.microsoft.com/en-us/library/windows/desktop/aa383581%28v=vs.85%29.aspx|title = Task Scheduler 1.0 Interfaces|access-date = May 30, 2014|website = [[MSDN]]|publisher = [[Microsoft]]}}</ref> Microsoft provides a scheduling agent DLL, a sample [[VBScript]] and a configuration file to automate Task Scheduler.<ref>{{cite web|url=http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=601d75e2-f907-4e51-ad88-adb818df1d27|title=Task Scheduler Using VBScript|work=Download Center|publisher=[[Microsoft]]|date=March 22, 2004|url-status=dead|archive-url=https://web.archive.org/web/20060504033359/http://www.microsoft.com/downloads/details.aspx?FamilyID=601d75e2-f907-4e51-ad88-adb818df1d27&displaylang=en|archive-date=May 4, 2006}}</ref>


In addition to the graphical user interface for Task Scheduler in [[Control Panel (Windows)|Control Panel]], Windows provides two command-line tools for managing scheduled task: <code>[[at (command)|at.exe]]</code> (deprecated)<ref>{{cite web|url=https://www.computerhope.com/at.htm|title=MS-DOS and Windows command line at command|access-date=7 March 2021|website=[[Computer Hope]]}}</ref> and <code>schtasks.exe</code>.<ref name="Mueller-2010" /><ref>{{cite web|title=Schtasks|url=https://technet.microsoft.com/en-us/library/bb490996.aspx|work=[[Microsoft TechNet]]|publisher=[[Microsoft]]|access-date=18 May 2014}}</ref><ref>{{cite web|title=At|url=https://technet.microsoft.com/en-us/library/bb490866.aspx|work=[[Microsoft TechNet]]|publisher=[[Microsoft]]|access-date=18 May 2014}}</ref> However, <code>at.exe</code> cannot access tasks created or modified by Control Panel or <code>schtasks.exe</code>.<ref>{{Cite web|url = http://support.microsoft.com/kb/313565|title = How To Use the AT Command to Schedule Tasks|date = 30 October 2006|website = Support|publisher = [[Microsoft]]}}</ref> Also, tasks created with <code>at.exe </code>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.<ref>{{cite book|author1-first=Dave|author1-last=Kleiman|author2-first=Laura E|author2-last=Hunter|year=2006|title=Winternals Defragmentation, Recovery, and Administration Field Guide|publisher=[[Elsevier]]|isbn=978-0080489872}}</ref><ref>{{Cite web|url = http://support.microsoft.com/kb/121562/EN-US|title = Applications Started with AT Are Not Interactive|date = 20 February 2007|website = Support|publisher = [[Microsoft]]|url-status=dead|archive-url=https://web.archive.org/web/20041029024318/http://support.microsoft.com/kb/121562/EN-US/|archive-date=October 29, 2004}}</ref>
In addition to the graphical user interface for Task Scheduler in [[Control Panel (Windows)|Control Panel]], Windows provides two command-line tools for managing scheduled task: <code>[[at (command)|at.exe]]</code> (deprecated)<ref>{{cite web|url=https://www.computerhope.com/at.htm|title=MS-DOS and Windows command line at command|access-date=March 7, 2021|website=Computer Hope}}</ref> and <code>schtasks.exe</code>.<ref name="Mueller-2010" /><ref>{{cite web|title=Schtasks|url=https://technet.microsoft.com/en-us/library/bb490996.aspx|work=[[Microsoft TechNet]]|publisher=[[Microsoft]]|access-date=May 18, 2014}}</ref><ref>{{cite web|title=At|url=https://technet.microsoft.com/en-us/library/bb490866.aspx|work=[[Microsoft TechNet]]|publisher=[[Microsoft]]|access-date=May 18, 2014}}</ref> However, <code>at.exe</code> cannot access tasks created or modified by Control Panel or <code>schtasks.exe</code>.<ref>{{Cite web|url = http://support.microsoft.com/kb/313565|title = How To Use the AT Command to Schedule Tasks|date = October 30, 2006|website = Support|publisher = [[Microsoft]]}}</ref> Also, tasks created with <code>at.exe </code>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.<ref>{{cite book|author1-first=Dave|author1-last=Kleiman|author2-first=Laura E|author2-last=Hunter|year=2006|title=Winternals Defragmentation, Recovery, and Administration Field Guide|publisher=[[Elsevier]]|isbn=978-0080489872}}</ref><ref>{{Cite web|url = http://support.microsoft.com/kb/121562/EN-US|title = Applications Started with AT Are Not Interactive|date = February 20, 2007|website = Support|publisher = [[Microsoft]]|url-status=dead|archive-url=https://web.archive.org/web/20041029024318/http://support.microsoft.com/kb/121562/EN-US/|archive-date=October 29, 2004}}</ref>


===Task Scheduler 2.0===
===Task Scheduler 2.0===
Line 50: Line 42:
|last1=Paul|first1=Ian
|last1=Paul|first1=Ian
|work=[[PCWorld]]
|work=[[PCWorld]]
|date=2014-09-05
|date=September 5, 2014
|access-date=2021-03-15
|access-date=March 15, 2021
}}</ref> 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 [[Component Object Model|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.<ref name="taskscheduler">{{cite web
}}</ref> 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 [[Component Object Model|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.<ref name="taskscheduler">{{cite web
|url=http://www.microsoft.com/technet/windowsvista/mgmntops/taskschd.mspx
|url=http://www.microsoft.com/technet/windowsvista/mgmntops/taskschd.mspx
Line 63: Line 55:
|archive-date=April 12, 2006
|archive-date=April 12, 2006
}}</ref> Windows Vista uses Task Scheduler 2.0 to run various system-level tasks;<ref>{{cite web|url=http://support.microsoft.com/kb/939039|title=Description of the scheduled tasks in Windows Vista|date=August 24, 2007|url-status=live|archive-url=https://web.archive.org/web/20071022033307/http://support.microsoft.com/kb/939039|archive-date=October 22, 2007}}</ref> consequently, the Task Scheduler service can no longer be disabled (except with a simple registry tweak).
}}</ref> Windows Vista uses Task Scheduler 2.0 to run various system-level tasks;<ref>{{cite web|url=http://support.microsoft.com/kb/939039|title=Description of the scheduled tasks in Windows Vista|date=August 24, 2007|url-status=live|archive-url=https://web.archive.org/web/20071022033307/http://support.microsoft.com/kb/939039|archive-date=October 22, 2007}}</ref> consequently, the Task Scheduler service can no longer be disabled (except with a simple registry tweak).
[[Image:Windows 7 Task Scheduler.png|thumb|right|Task Scheduler 2.0 in [[Windows 7]]]]

Task Scheduler 2.0 exposes an [[API]] to allow computer programs and scripts create tasks.<ref name="VBSPR" /><ref name="kerr">{{cite web
Task Scheduler 2.0 exposes an [[API]] to allow computer programs and scripts create tasks.<ref name="VBSPR" /><ref name="kerr">{{cite web
| url = http://msdn.microsoft.com/msdnmag/issues/07/10/WindowsCPP/
| url = http://msdn.microsoft.com/msdnmag/issues/07/10/WindowsCPP/
Line 70: Line 62:
| work = [[MSDN]]
| work = [[MSDN]]
| publisher = [[Microsoft]]
| publisher = [[Microsoft]]
| access-date = 2007-10-06
| access-date = October 6, 2007
| date = October 2007
| date = October 2007
| url-status=dead
| url-status=dead
| archive-url = https://web.archive.org/web/20071226223747/http://msdn.microsoft.com/msdnmag/issues/07/10/WindowsCPP/
| archive-url = https://web.archive.org/web/20071226223747/http://msdn.microsoft.com/msdnmag/issues/07/10/WindowsCPP/
| archive-date = December 26, 2007
| archive-date = December 26, 2007
}}</ref> It consists of 42 [[Component Object Model|COM]] [[Interface (computing)|interfaces]].<ref>{{Cite web|url = https://msdn.microsoft.com/en-us/library/aa383600%28v=vs.85%29.aspx|title = Task Scheduler 2.0 Interfaces|access-date = 30 May 2014|website = [[MSDN]]|publisher = [[Microsoft]]}}</ref> The Windows API does not, however, include a [[Managed code|managed]] wrapper for Task Scheduler though an open source implementation exists.<ref>{{Cite web|url=https://stackoverflow.com/questions/3977801/c-sharp-api-for-task-scheduler-2-0|title=C# API for Task Scheduler 2.0|website=Stack Overflow|access-date=2019-07-24}}</ref> The job files for Task Scheduler 2.0 are [[XML]]-based, and are human-readable, conforming to the ''Task Scheduler Schema''.<ref name="VBSPR" /><ref name="kerr"/>
}}</ref> It consists of 42 [[Component Object Model|COM]] [[Interface (computing)|interfaces]].<ref>{{Cite web|url = https://msdn.microsoft.com/en-us/library/aa383600%28v=vs.85%29.aspx|title = Task Scheduler 2.0 Interfaces|access-date = May 30, 2014|website = [[MSDN]]|publisher = [[Microsoft]]}}</ref> The Windows API does not, however, include a [[Managed code|managed]] wrapper for Task Scheduler though an open source implementation exists.<ref>{{Cite web|url=https://stackoverflow.com/questions/3977801/c-sharp-api-for-task-scheduler-2-0|title=C# API for Task Scheduler 2.0|website=Stack Overflow|access-date=July 24, 2019}}</ref> The job files for Task Scheduler 2.0 are [[XML]]-based, and are human-readable, conforming to the ''Task Scheduler Schema''.<ref name="VBSPR" /><ref name="kerr"/>


====Other features====
====Other features====
Line 88: Line 80:
| work = [[MSDN]]
| work = [[MSDN]]
| publisher = [[Microsoft]]
| publisher = [[Microsoft]]
| access-date = 2007-10-06
| access-date = October 6, 2007
}}</ref>
}}</ref>


==Column 'Last Result'==
==Column 'Last Result'==
The Last Result column displays a completion code. The common codes for scheduled tasks are:<ref>{{cite web|title=How to troubleshoot scheduled tasks in Windows XP and in Windows Server 2003|url=http://support.microsoft.com/kb/308558|work=Support|publisher=[[Microsoft]]|access-date=3 Sep 2013|date=22 May 2013}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-gb/library/windows/desktop/aa383604(v=vs.85).aspx|title=Task Scheduler Error and Success Constants|work=[[MSDN]]|publisher=[[Microsoft]]}}</ref>
The Last Result column displays a completion code. The common codes for scheduled tasks are:<ref>{{cite web|title=How to troubleshoot scheduled tasks in Windows XP and in Windows Server 2003|url=http://support.microsoft.com/kb/308558|work=Support|publisher=[[Microsoft]]|access-date=September 3, 2013|date=May 22, 2013}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-gb/library/windows/desktop/aa383604(v=vs.85).aspx|title=Task Scheduler Error and Success Constants|work=[[MSDN]]|publisher=[[Microsoft]]}}</ref>


{{Div col|small=yes}}
* 0 or 0x0: The operation completed successfully.
* 0 or 0x0: The operation completed successfully.
* 1 or 0x1: Incorrect function called or unknown function called.
* 1 or 0x1: Incorrect function called or unknown function called.
Line 140: Line 133:
* 0x80041327: The task has properties that are not compatible with earlier versions of Windows.
* 0x80041327: The task has properties that are not compatible with earlier versions of Windows.
* 0x80041328: The task settings do not allow the task to start on demand.
* 0x80041328: The task settings do not allow the task to start on demand.
* 0x80070002: The Task Scheduler cannot find the file.
* 0x800710E0: The operator or administrator has refused the request.
* 0xC000013A: The application terminated as a result of a CTRL+C.
* 0xC000013A: The application terminated as a result of a CTRL+C.
* 0xC0000142: The application failed to initialize properly.
* 0xC0000142: The application failed to initialize properly.
{{Div col end}}


==Bugs==
==Bugs==
On Windows 2000 and Windows XP, tasks assigned to run with SYSTEM privileges do not function when the computer is prepared for [[disk imaging]] with <code>[[sysprep]]</code>. Sysprep changes the [[security identifier]] (SID) to avoid duplication but does not update scheduled tasks to use the new SID. Consequently, all SYSTEM scheduled tasks fail to run on the imaged computers. There is no solution for this problem but one may reschedule the tasks to work around the issue.<ref>{{cite web|title=Scheduled tasks may not start if you used a System Preparation image to install Windows XP or Windows 2000|url=http://support.microsoft.com/kb/313111|work=Support|publisher=[[Microsoft]]|access-date=19 May 2012|date=1 July 2004|url-status=dead|archive-url=https://web.archive.org/web/20080926011921/http://support.microsoft.com/kb/313111|archive-date=26 September 2008}}</ref>
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 [[Superuser|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.<ref>{{cite web|title=Scheduled tasks may not start if you used a System Preparation image to install Windows XP or Windows 2000|url=http://support.microsoft.com/kb/313111|work=Support|publisher=[[Microsoft]]|access-date=May 19, 2012|date=July 1, 2004|url-status=dead|archive-url=https://web.archive.org/web/20080926011921/http://support.microsoft.com/kb/313111|archive-date=September 26, 2008}}</ref>


On Windows Vista or Windows Server 2008, where Service Pack 2 is not installed,<!-- To source checkers: You need to expand tables in File information section to reveal this information --> the next execution time displayed in Task Scheduler may be wrong.<ref>{{cite web|title=The value in the Next Run Time field in Task Scheduler is incorrect in Windows Vista and in Windows Server 2008|url=http://support.microsoft.com/kb/950035|work=Support|publisher=[[Microsoft]]|access-date=19 May 2012|date=15 October 2008}}
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.<ref>{{cite web|date=October 15, 2008|title=The value in the Next Run Time field in Task Scheduler is incorrect in Windows Vista and in Windows Server 2008|url=http://support.microsoft.com/kb/950035|url-status=live|archive-url=https://web.archive.org/web/20081211175231/http://support.microsoft.com/kb/950035|archive-date=December 11, 2008|work=Support|publisher=[[Microsoft]]}}
</ref>
</ref>

On Windows Vista, 7, 2008, and 2008 R2: The [[Microsoft Management Console|MMC]] Component says that the system is running "Task Scheduler 1.0" when in fact it is running 2.0, this is a trivial bug so it wasn't noticed, and is likely due to the re-write of the task scheduler. The version has been corrected to 2.0 in Windows 8 and in 2012.


==See also==
==See also==
*[[cron]], job scheduler for Unix-like operating systems
*[[Job scheduling]]
*[[cron]]


==References==
==References==
Line 159: Line 152:


==Further reading==
==Further reading==
* {{cite book|author1-last=Leonhard|author1-first=Woody|author2-last=Rusen|author2-first=Ciprian|year=2021|title=Windows 10 All-in-One For Dummies|publisher=[[John Wiley & Sons]]|isbn=978-1119680574}}
* {{cite book|author1-last=Knittel|author1-first=Brian|author2-last=McFedries|author2-first=Paul|year=2014|title=Windows 8.1 in Depth|publisher=[[Que Publishing]]|isbn=978-0789752819}}
* {{cite book|author1-last=Bott|author1-first=Ed|author2-last=Siechert|author2-first=Carl|author3-last=Stinson|author3-first=Craig|year=2009|title=Windows 7 Inside Out|publisher=[[Pearson Education]]|isbn=978-0735636842}}
* {{cite book|author1-last=Ruest|author1-first=Danielle|author2-last=Ruest|author2-first=Nelson|year=2008|title=Microsoft Windows Server 2008: The Complete Reference|publisher=[[McGraw-Hill Education]]|isbn=978-0071596466}}
* {{cite book|author1-last=Cowart|author1-first=Robert|author2-last=Knittel|author2-first=Brian|year=2008|title=Special Edition Using Microsoft Windows Vista|publisher=[[Que Publishing|Que]]|isbn=978-0789737816}}
* {{cite book|author1-last=Cowart|author1-first=Robert|author2-last=Knittel|author2-first=Brian|year=2008|title=Special Edition Using Microsoft Windows Vista|publisher=[[Que Publishing|Que]]|isbn=978-0789737816}}



Latest revision as of 03:28, 6 March 2024

Windows Task Scheduler
Other namestaskschd.msc
Developer(s)Microsoft
Initial release1995; 29 years ago (1995)
Written inC++
Included with
PredecessorSystem Agent
Service nameTask Scheduler (Schedule)
TypeWindows service
Websitedocs.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page Edit this on Wikidata

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]

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

[edit]

Task Scheduler 1.0

[edit]

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

[edit]

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

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

[edit]
  • 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

[edit]

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'

[edit]

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

  • 0 or 0x0: The operation completed successfully.
  • 1 or 0x1: Incorrect function called or unknown function called.
  • 2 or 0x2: File not found.
  • 10 or 0xa: The environment is incorrect.
  • 0x00041300: Task is ready to run at its next scheduled time.
  • 0x00041301: The task is currently running.
  • 0x00041302: The task has been disabled.
  • 0x00041303: The task has not yet run.
  • 0x00041304: There are no more runs scheduled for this task.
  • 0x00041305: One or more of the properties that are needed to run this task have not been set.
  • 0x00041306: The last run of the task was terminated by the user.
  • 0x00041307: Either the task has no triggers or the existing triggers are disabled or not set.
  • 0x00041308: Event triggers do not have set run times.
  • 0x80010002: Call was canceled by the message filter
  • 0x80041309: A task's trigger is not found.
  • 0x8004130A: One or more of the properties required to run this task have not been set.
  • 0x8004130B: There is no running instance of the task.
  • 0x8004130C: The Task Scheduler service is not installed on this computer.
  • 0x8004130D: The task object could not be opened.
  • 0x8004130E: The object is either an invalid task object or is not a task object.
  • 0x8004130F: No account information could be found in the Task Scheduler security database for the task indicated.
  • 0x80041310: Unable to establish existence of the account specified.
  • 0x80041311: Corruption was detected in the Task Scheduler security database
  • 0x80041312: Task Scheduler security services are available only on Windows NT.
  • 0x80041313: The task object version is either unsupported or invalid.
  • 0x80041314: The task has been configured with an unsupported combination of account settings and run time options.
  • 0x80041315: The Task Scheduler Service is not running.
  • 0x80041316: The task XML contains an unexpected node.
  • 0x80041317: The task XML contains an element or attribute from an unexpected namespace.
  • 0x80041318: The task XML contains a value which is incorrectly formatted or out of range.
  • 0x80041319: The task XML is missing a required element or attribute.
  • 0x8004131A: The task XML is malformed.
  • 0x0004131B: The task is registered, but not all specified triggers will start the task.
  • 0x0004131C: The task is registered, but may fail to start. Batch logon privilege needs to be enabled for the task principal.
  • 0x8004131D: The task XML contains too many nodes of the same type.
  • 0x8004131E: The task cannot be started after the trigger end boundary.
  • 0x8004131F: An instance of this task is already running.
  • 0x80041320: The task will not run because the user is not logged on.
  • 0x80041321: The task image is corrupt or has been tampered with.
  • 0x80041322: The Task Scheduler service is not available.
  • 0x80041323: The Task Scheduler service is too busy to handle your request. Please try again later.
  • 0x80041324: The Task Scheduler service attempted to run the task, but the task did not run due to one of the constraints in the task definition.
  • 0x00041325: The Task Scheduler service has asked the task to run.
  • 0x80041326: The task is disabled.
  • 0x80041327: The task has properties that are not compatible with earlier versions of Windows.
  • 0x80041328: The task settings do not allow the task to start on demand.
  • 0x80070002: The Task Scheduler cannot find the file.
  • 0x800710E0: The operator or administrator has refused the request.
  • 0xC000013A: The application terminated as a result of a CTRL+C.
  • 0xC0000142: The application failed to initialize properly.

Bugs

[edit]

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

[edit]
  • cron, job scheduler for Unix-like operating systems

References

[edit]
  1. ^ a b "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. ^ a b 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. ^ a b 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. ^ a b "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. ^ a b c 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. ^ a b 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

[edit]
[edit]