Windows 计划任务程序(Windows Task Scheduler)是微软 Windows 操作系统中的一个功能,用于在指定的时间或事件触发时自动执行任务。计划任务程序可以帮助用户自动运行应用程序、脚本和命令,以及执行各种系统维护任务 应用场景 各个版本年代功能更新
利用时间管理应用程序辅助任务排序 #生活技巧# #时间管理技巧# #任务优先级设定#
Windows 计划任务程序(Windows Task Scheduler)自首次引入以来,已经经历了多个版本的演进和功能增强。它的主要作用是让用户和系统管理员能够在指定的时间或事件发生时自动运行程序或脚本。以下是 Windows 计划任务程序的发展时间线,涵盖了从早期版本到现代 Windows 系统的演变过程:
1. Windows 95 / Windows NT 4.0
首次引入:Windows NT 4.0(1996年) 在 Windows NT 4.0 中,计划任务功能首次作为 "AT" 命令行工具提供,用于定时执行任务。通过命令行,用户可以安排任务在指定的时间启动。PS C:\Users\Administrator> AT /?
AT 命令已弃用。请改用 schtasks.exe。
AT 命令安排在特定日期和时间运行命令和程序。要使用 AT 命令,计划服务必须已在运行中。
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE][ /EVERY:date[,...] | /NEXT:date[,...]] "command"
\\computername 指定远程计算机。如果省略这个参数,会计划在本地计算机上运行命令。
id 指定给已计划命令的识别号。
/delete 删除某个已计划的命令。如果省略 id,计算机上所有已计划的命令都会被删除。
/yes 不需要进一步确认时,跟删除所有作业 的命令一起使用。
time 指定运行命令的时间。
/interactive 允许作业在运行时,与当时登录的用户桌面进行交互。
/every:date[,...] 指定在每周或每月的特定日期运行命令。如果省略日期,则默认为在每月的本日运行。
/next:date[,...] 指定在下一个指定日期(如,下周四)运行命令。如果省略日期,则默认为在每月的本日运行。
"command" 准备运行的 Windows NT 命令或批处理 程序。
2. Windows 98 / Windows 2000 / Windows ME
Windows 98 (1998年) 和 Windows ME (2000年)
Windows 98 和 Windows ME 引入了图形界面的任务计划程序工具。用户可以更方便地通过图形界面设置计划任务,执行任务时不再需要手动启动程序。 任务计划程序也逐渐支持更复杂的调度选项,如按日期、时间、或者周期性任务等。Windows 2000 (2000年)
Windows 2000 对计划任务做出了重要改进,特别是任务调度引擎的增强,使得计划任务可以在系统关闭后通过启动计划任务来运行。 任务计划程序工具本身也有所改进,支持基于事件、条件等更加精细的调度设置。 引入了 任务调度程序服务,这是一个运行在后台的服务,用于管理计划任务。 任务计划程序的界面和功能进一步完善,允许用户通过图形界面或脚本创建和管理任务。3. Windows XP / Windows Server 2003
Windows XP(2001年)
在 Windows XP 中,任务计划程序功能被进一步强化,用户可以通过图形界面创建和管理任务,支持更多的调度选项。 引入了 任务计划程序(Task Scheduler),它具有更简洁的用户界面,可以轻松添加、删除、修改计划任务。 支持任务的更详细设置,包括任务的优先级、运行时的用户权限等。Windows Server 2003(2003年)
Windows Server 2003 对计划任务程序进行了增强,主要优化了任务调度的可靠性和任务执行时的错误处理。 引入了任务的日志记录功能,可以帮助管理员监控任务的执行情况和诊断错误。4. Windows Vista / Windows Server 2008
Windows Vista(2007年)
Windows Vista 引入了 任务计划程序 2.0,这是一个重大的更新。新版本支持更多的触发条件、任务设置选项以及更精细的任务调度管理。 引入了图形界面增强,用户可以更方便地通过图形界面设置复杂的任务。 支持新的触发器,如“计算机空闲时”或“在计算机启动时”等,提升了任务的灵活性。 改进了用户权限控制,任务可以在不同用户帐户下运行,具有更高的安全性。 支持“任务历史”功能,管理员可以查看任务的执行记录和调度历史。Windows Server 2008(2008年)
Windows Server 2008 在任务计划程序中加入了对 Windows Server 操作系统的优化,增强了任务调度和管理的功能。 提供了更多的任务触发选项,如根据系统事件、任务完成状态等启动新的任务。5. Windows 7 / Windows Server 2008 R2
Windows 7(2009年)
Windows 7 对任务计划程序进一步改进,添加了新的 触发器 和 操作,使得任务调度更加灵活和精细。 改进了任务计划程序的图形界面,使得用户能够更方便地进行任务管理,尤其是针对复杂任务的配置更加直观。 支持更加精确的调度,如基于日期的重复任务、定时任务和计算机空闲时任务等。 增强了日志记录功能,可以提供详细的执行历史,方便故障排除。Windows Server 2008 R2(2009年)
Windows Server 2008 R2 中,计划任务程序的功能与 Windows 7 相似,但在服务器环境下进行了优化,支持更多的网络和系统管理功能。6. Windows 8 / Windows Server 2012
Windows 8(2012年)
Windows 8 引入了更加现代化的任务计划程序界面,适配触摸屏,提升了用户的交互体验。 计划任务功能进一步增强,支持新的触发器和更详细的操作设置。用户可以通过图形界面或 PowerShell 脚本来创建和管理任务。 Windows 8 还增强了任务计划程序的性能,优化了任务的执行和管理。Windows Server 2012(2012年)
Windows Server 2012 强调高效的任务调度和自动化管理,进一步增强了任务计划程序的稳定性和可靠性。 提供了更丰富的调度选项,特别是在企业环境下,管理员可以更容易地管理大量的计划任务。7. Windows 10 / Windows Server 2016 / Windows 11
Windows 10(2015年)
Windows 10 继续扩展了任务计划程序的功能,强化了图形界面和系统管理工具的整合,支持更多的触发器和操作,优化了计划任务的管理。 提供了 任务历史记录,管理员可以查看任务的详细日志和执行情况,方便诊断和维护。 引入了更多的调度条件,如“系统启动时”、“系统空闲时”等,提升了任务执行的灵活性。Windows Server 2016(2016年)
Windows Server 2016 强调容器化和企业级自动化管理,任务计划程序在服务器环境中的功能得到了增强,尤其是在大型网络和分布式环境下的任务调度和管理。Windows 11(2021年)
Windows 11 在用户体验和界面设计上进行了进一步优化,任务计划程序的功能与 Windows 10 基本相同,但在现代化操作和性能上有所提升。 继续强化了计划任务的执行效率和灵活性,特别是在与云计算、虚拟化环境的结合方面。Windows 计划任务程序经历了从命令行工具到图形界面的演变,逐步引入了更加丰富的调度条件、权限控制、日志记录等功能。通过不断优化,计划任务程序已经成为 Windows 系统中不可或缺的一部分,广泛应用于个人、企业和服务器环境中,帮助用户和管理员自动化日常任务和维护工作。
Windows 计划任务程序(Windows Task Scheduler)功能的完整逻辑链
Windows 计划任务程序(Task Scheduler)是Windows操作系统中的一个强大工具,它允许用户在指定的时间或事件触发时自动执行程序或脚本。以下是Windows 计划任务程序功能的完整逻辑链,描述从任务创建到执行的各个阶段。
1. 任务创建阶段
a. 定义任务用户首先需要在Windows计划任务程序中创建一个任务。此任务可以通过任务调度程序的图形界面(Task Scheduler UI)或通过命令行工具(如 schtasks)进行创建。任务的定义包括以下内容:
任务名称和描述:为任务命名并提供描述,便于后期管理。
任务触发条件:设置任务执行的触发条件,如:
时间触发:例如,任务在特定时间或时间间隔内执行。 事件触发:如系统启动、用户登录、文件创建等。 任务完成时触发:例如,任务完成后执行另一个任务。任务动作:设置任务要执行的具体操作,如启动应用程序、运行脚本、发送电子邮件等。
b. 配置任务的安全设置在创建任务时,用户还需要设置任务执行的权限和安全选项,例如:
运行任务的用户:指定哪个用户账户用于执行任务。 用户权限:是否允许任务在没有用户登录的情况下执行。 使用最高权限:是否需要管理员权限来执行任务。这些设置确保任务在正确的权限级别下运行。
2. 任务调度和管理阶段
a. 任务调度管理一旦任务被创建并保存,计划任务程序会根据预定义的触发条件(如时间、事件或系统状态)对任务进行调度。任务调度程序会持续运行,监控任务的触发条件,并在条件满足时启动相应的任务。
任务周期管理:对于重复性任务,可以设置任务的周期性执行,调度程序会根据预设的时间间隔自动重新运行任务。 任务状态管理:Windows会记录每个任务的执行状态,管理员可以查看任务的执行日志、历史记录等信息,了解任务是否成功运行。 b. 任务执行前的检查在执行任务之前,任务调度程序会检查以下条件:
任务是否符合触发条件:例如,任务是否到达预定的时间或事件。 系统资源:任务执行前,系统会确保所需的资源(如CPU、内存、网络等)可用,避免因为资源不足导致任务失败。 依赖任务:如果任务存在依赖关系(例如,任务A依赖任务B的完成),调度程序会确保依赖关系已满足,方可执行。3. 任务执行阶段
a. 任务启动一旦任务的触发条件满足,Windows计划任务程序会启动相应的程序或脚本。具体的执行过程包括:
执行命令或程序:调度程序会根据任务定义启动指定的程序、脚本或命令。 传递参数:如果任务需要特定的参数或路径,任务调度程序会自动传递这些信息,以确保任务按预期运行。 记录日志:任务执行过程中,系统会记录任务的执行日志(成功或失败),包括详细的时间戳、状态和错误信息(如果有)。 b. 处理错误和异常在执行任务时,如果遇到错误或异常,任务调度程序会根据任务设置采取相应的措施,例如:
重试任务:如果任务失败,可以设置任务在失败后一定次数内自动重试。 发送错误通知:任务失败时,可以设置系统或管理员通过电子邮件、短信等方式接收通知。 自定义失败行为:根据任务的配置,用户可以选择执行备用操作,如运行另一脚本、重新启动任务等。4. 任务完成阶段
a. 任务完成标记当任务执行完成后,任务调度程序会根据任务定义将任务标记为已完成,并记录相关的结果。任务的执行结果会被写入任务日志中,系统管理员可以查看执行的成功与失败状态、执行时间、返回的错误代码等。
b. 后续动作根据任务设置的条件,任务完成后可能会触发其他任务或操作,例如:
触发另一个任务:例如,任务A执行完毕后,自动启动任务B。 发送报告:例如,执行完备份任务后,发送备份报告到指定的邮箱。 c. 清理工作对于长期执行的任务,系统会自动清理无用的缓存、日志文件等,释放资源。此时,任务状态和日志也会按照设定的保留期限进行归档或删除。
5. 任务监控与维护
a. 任务监控计划任务程序会持续监控任务的运行情况,记录每次任务的成功与失败状态,并提供详细的日志文件。管理员可以通过任务调度器界面或PowerShell命令查看任务的执行情况。
b. 任务修改与更新如果任务执行出现问题,或者系统需求发生变化,管理员可以随时修改任务的配置、触发条件、执行动作等。修改后,系统会重新评估任务的触发条件,并按新的设置执行任务。
c. 任务删除与停用如果任务不再需要,管理员可以删除任务或将其停用。删除任务后,任务调度程序不再监控和执行该任务。
任务执行的完整逻辑链
任务创建:定义任务名称、触发条件、执行动作、权限等。 任务调度:任务调度程序根据触发条件定期检查任务,并执行。 任务执行:任务在满足条件时启动,按预设的操作执行。 任务完成:任务执行后记录日志,处理成功/失败的结果,并执行后续操作。 任务维护:监控任务执行状态,必要时修改任务配置,或删除不再需要的任务。Windows计划任务程序提供了全面的自动化支持,使得系统管理更加高效和可靠。
Windows 计划任务程序(Windows Task Scheduler)广泛应用于个人和企业环境中,帮助自动化常规任务、提高工作效率、减少人工操作,并确保系统的稳定运行。以下是一些典型的应用场景:
1. 系统维护任务
定期备份文件和数据:可以设置计划任务,自动执行备份脚本,在特定时间自动备份文件、数据库或系统映像,以确保数据安全。 磁盘清理:定期清理不必要的临时文件、缓存文件和日志文件,释放磁盘空间,优化系统性能。 磁盘碎片整理:定期运行磁盘碎片整理工具,优化硬盘性能,确保文件存取更加高效。2. 自动化软件更新
自动更新操作系统和软件:通过计划任务,设置定期检查操作系统和已安装软件的更新,并自动下载和安装更新。这样可以确保系统和应用始终保持最新状态,修复安全漏洞。 防病毒软件更新:定期自动更新病毒库和防病毒软件,确保系统能够抵御最新的病毒和恶意软件。3. 定期运行脚本和程序
自动化批处理脚本或PowerShell脚本:定期执行自定义的批处理脚本或 PowerShell 脚本,完成如清理日志、管理文件、启动特定程序等任务。 自动启动程序:设置特定程序在系统启动、用户登录时自动启动,如启动办公套件、团队协作工具或监控程序等。4. 日志管理与监控
日志收集与分析:定期运行日志收集和分析脚本,将系统日志、应用日志或安全日志定期导出和存档,供管理员进一步分析。 监控系统状态:设置任务定期检查系统性能(如CPU、内存使用情况)或网络连接状态,如果发现异常,自动发出警报或执行修复操作。5. 自动化任务调度
定期发送报告邮件:例如,设置计划任务来自动生成并发送定期的业务报告、服务器状态报告或系统健康报告到指定的电子邮件地址。 定时执行数据导入/导出任务:自动化数据库的导入、导出操作,例如定期从外部数据源导入数据,或导出数据进行备份。6. 提升工作效率
自动化重复性工作:对于需要定期执行但重复性强的任务,例如自动化数据处理、报表生成等,计划任务能够确保它们按时并且准确地执行,节省人工操作时间。 自动重启程序:对于某些长时间运行的程序或服务,用户可以设置计划任务定期重启它们,避免因为程序崩溃或资源耗尽导致的性能下降。7. 自动启动和关闭计算机
定时开机/关机:设置计算机在指定时间自动启动或关闭,适用于不需要 24 小时运行的设备,或者节省电力的情境。例如,某些服务器或工作站可以在工作日的早晨自动启动,晚上自动关闭。 休眠或关闭显示器:设定任务使计算机进入休眠状态,或者自动关闭显示器,降低功耗。8. 网络管理
定期检测网络连接:可以设置任务定期检查本地网络或远程服务器的连接状态,确保网络稳定运行,或者在断开连接时执行修复操作。 自动连接VPN:可以设置定时任务在指定时间自动连接VPN,适用于需要定期访问远程网络资源的用户。9. 工作流程和协作工具
定时发送协作工具提醒:如自动向团队成员发送日常或每周的工作提醒、会议安排、任务跟踪等通知,确保团队按时完成任务。 自动化企业工作流:定期或根据事件触发执行工作流,例如在收到电子邮件时自动触发特定任务的执行,或者在数据库更新时启动其他操作。10. 网络安全管理
定期扫描恶意软件:定期执行恶意软件扫描任务,确保系统免受病毒、间谍软件和木马的侵害。 执行安全审计:定期执行安全审计任务,检查用户权限、文件访问权限等,确保系统安全合规。11. 备份与灾难恢复
备份关键文件或系统设置:定期自动备份重要文件、系统配置或数据库,并存储到本地或云端。这是防止数据丢失、灾难恢复的常见策略。 执行灾难恢复演练:定期自动运行灾难恢复测试任务,确保在实际灾难发生时能够迅速恢复系统和数据。12. 自动化开发与测试
自动化构建和部署:在软件开发和测试过程中,任务计划程序可以用于定期执行构建和部署脚本,将应用程序从开发环境部署到测试或生产环境。 自动化软件测试:定期运行自动化测试脚本,确保新版本的应用程序没有引入新的缺陷。Windows 计划任务程序的应用场景非常广泛,它不仅适用于个人计算机的日常管理和维护,也在企业和服务器环境中发挥着重要作用。通过自动化繁琐的任务,可以节省大量时间和精力,确保系统高效稳定运行,同时提高工作效率和数据安全性。
PS C:\Users\Administrator> schtasks /?
SCHTASKS /parameter [arguments]
描述:
允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任务。
参数列表:
SCHTASKS /Create 创建新计划任务。
SCHTASKS /Delete 删除计划任务。
SCHTASKS /Query 显示所有计划任务。
SCHTASKS /Change 更改计划任务属性。
SCHTASKS /Run 按需运行计划任务。
SCHTASKS /End 中止当前正在运行的计划任务。
SCHTASKS /ShowSid 显示与计划的任务名称相应的安全标识符。
SCHTASKS /? 显示此帮助消息。
Examples:
SCHTASKS
SCHTASKS /?
PS C:\Users\Administrator> SCHTASKS /Run /?
SCHTASKS /Run [/S system [/U username [/P [password]]]] [/I]
/TN taskname [/HRESULT] [/?]
描述:
按需运行计划任务。
参数列表:
/S system 指定要连接到的远程系统。
/U username 指定应在其中执行 schtasks.exe 的用户上下文。
/P [password] 为给定的用户上下文指定密码,如果省略则 提示输入。
/I 忽略任何限制立即运行任务。
/TN taskname 指定要立即运行的任务的路径\名称。
/HRESULT 为获得更出色的故障诊断能力,处理退出代码 将采用 HRESULT 格式。
/? 显示此帮助消息。
示例:
SCHTASKS /Run /?
SCHTASKS /Run /TN "\备份\启动备份"
SCHTASKS /Run /S system /U user /P password /I /TN "\备份\备份和还原"
PS C:\Users\Administrator> SCHTASKS /End /?
SCHTASKS /End [/S system [/U username [/P [password]]]]
/TN taskname [/HRESULT] [/?]
描述:
停止正在运行的计划任务。
参数列表:
/S system 指定要连接到的远程系统。
/U username 指定应在其中执行 schtasks.exe 的用户上下文。
/P [password] 为给定的用户上下文指定密码。 如果已忽略,将提示输入密码。
/TN taskname 指定要终止的任务的路径\名称。
/HRESULT 为获得更出色的故障诊断能力,处理退出代码将采用 HRESULT 格式。
/? 显示此帮助消息。
示例:
SCHTASKS /End /?
SCHTASKS /End /TN "\备份\启动备份"
SCHTASKS /End /S system /U user /P password /TN "\备份\备份和还原"
PS C:\Users\Administrator> SCHTASKS /Create /?
SCHTASKS /Create [/S system [/U username [/P [password]]]]
[/RU username [/RP password]] /SC schedule [/MO modifier] [/D day]
[/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime]
[/RI interval] [ {/ET endtime | /DU duration} [/K] [/XML xmlfile] [/V1]]
[/SD startdate] [/ED enddate] [/IT | /NP] [/Z] [/F] [/HRESULT] [/?]
描述:
允许管理员在本地或远程系统上创建计划任务。
参数列表:
/S system 指定要连接到的远程系统。如果省略这个系统参数,默认是本地系统。
/U username 指定应在其中执行 SchTasks.exe 的用户上下文。
/P [password] 指定给定用户上下文的密码。如果省略则 提示输入。
/RU username 指定任务在其下运行的“运行方式”用户 帐户(用户上下文)。对于系统帐户,有效值是 ""、"NT AUTHORITY\SYSTEM" 或 "SYSTEM"。 对于 v2 任务,"NT AUTHORITY\LOCALSERVICE"和 "NT AUTHORITY\NETWORKSERVICE"以及常见的 SID 对这三个也都可用。
/RP [password] 指定“运行方式”用户的密码。要提示输 入密码,值必须是 "*" 或无。系统帐户会忽略该 密码。必须和 /RU 或 /XML 开关一起使用。
/RU/XML /SC schedule 指定计划频率。 有效计划任务: MINUTE、 HOURLY、DAILY、WEEKLY、 MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT.
/MO modifier 改进计划类型以允许更好地控制计划重复 周期。有效值列于下面“修改者”部分中。
/D days 指定该周内运行任务的日期。有效值: MON、TUE、WED、THU、FRI、SAT、SUN 和对 MONTHLY 计划的 1 - 31 (某月中的日期)。通配符“*”指定所有日期。
/M months 指定一年内的某月。默认是该月的第一天。有效值: JAN、FEB、MAR、APR、MAY、JUN、 JUL、 AUG、SEP、OCT、NOV 和 DEC。通配符“*” 指定所有的月。
/I idletime 指定运行一个已计划的 ONIDLE 任务之前 要等待的空闲时间。 有效值范围: 1 到 999 分钟。
/TN taskname 以路径\名称形式指定 对此计划任务进行唯一标识的字符串。
/TR taskrun 指定在这个计划时间运行的程序的路径 和文件名。 例如: C:\windows\system32\calc.exe
/ST starttime 指定运行任务的开始时间。 时间格式为 HH:mm (24 小时时间),例如 14:30 表示 2:30 PM。如果未指定 /ST,则默认值为当前时间。/SC ONCE 必需有此选项。
/RI interval 用分钟指定重复间隔。这不适用于 计划类型: MINUTE、HOURLY、 ONSTART, ONLOGON, ONIDLE, ONEVENT. 有效范围: 1 - 599940 分钟。 如果已指定 /ET 或 /DU,则其默认值为 10 分钟。
/ET endtime 指定运行任务的结束时间。 时间格式为 HH:mm (24 小时时间),例如,14:50 表示 2:50 PM。 这不适用于计划类型: ONSTART、 ONLOGON, ONIDLE, ONEVENT.
/DU duration 指定运行任务的持续时间。 时间格式为 HH:mm。这不适用于 /ET 和 计划类型: ONSTART, ONLOGON, ONIDLE, ONEVENT. 对于 /V1 任务,如果已指定 /RI,则持续时间默认值为 1 小时。
/K 在结束时间或持续时间终止任务。 这不适用于计划类型: ONSTART、 ONLOGON, ONIDLE, ONEVENT. 必须指定 /ET 或 /DU。
/SD startdate 指定运行任务的第一个日期。格式为 yyyy/mm/dd。默认值为 当前日期。这不适用于计划类型: ONCE、 ONSTART, ONLOGON, ONIDLE, ONEVENT.
/ED enddate 指定此任务运行的最后一天的日期。 格式是 yyyy/mm/dd。这不适用于计划类型:ONCE、ONSTART、ONLOGON、ONIDLE。
/EC ChannelName 为 OnEvent 触发器指定事件通道。
/IT 仅有在 /RU 用户当前已登录且 作业正在运行时才可以交互式运行任务。 此任务只有在用户已登录的情况下才运行。
/NP 不储存任何密码。任务以给定用户的身份
非交互的方式运行。只有本地资源可用。
/Z 标记在最终运行完任务后删除任务。
/XML xmlfile 从文件的指定任务 XML 中创建任务。 可以组合使用 /RU 和 /RP 开关,或者在任务 XML 已包含 主体时单独使用 /RP。
/V1 创建 Vista 以前的平台可以看见的任务。 不兼容 /XML。
/F 如果指定的任务已经存在,则强制创建 任务并抑制警告。
/RL level 为作业设置运行级别。有效值为 LIMITED 和 HIGHEST。默认值为 LIMITED。
/DELAY delaytime 指定触发触发器后延迟任务运行的 等待时间。时间格式为 mmmm:ss。此选项仅对计划类型 ONSTART, ONLOGON, ONEVENT.
/HRESULT 为获得更出色的故障诊断能力,处理退出代码 将采用 HRESULT 格式。
/? 显示此帮助消息。
修改者: 按计划类型的 /MO 开关的有效值:
MINUTE: 1 到 1439 分钟。
HOURLY: 1 - 23 小时。
DAILY: 1 到 365 天。
WEEKLY: 1 到 52 周。
ONCE: 无修改者。
ONSTART: 无修改者。
ONLOGON: 无修改者。
ONIDLE: 无修改者。
MONTHLY: 1 到 12,或
FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY。
ONEVENT: XPath 事件查询字符串。
示例:
==> 在远程机器 "ABC" 上创建计划任务 "doc",
该机器每小时在 "runasuser" 用户下运行 notepad.exe。
SCHTASKS /Create /S ABC /U user /P password /RU runasuser
/RP runaspassword /SC HOURLY /TN doc /TR notepad
==> 在远程机器 "ABC" 上创建计划任务 "accountant",
在指定的开始日期和结束日期之间的开始时间和结束时间内,
每隔五分钟运行 calc.exe。
SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE
/MO 5 /TN accountant /TR calc.exe /ST 12:00 /ET 14:00
/SD 06/06/2006 /ED 06/06/2006 /RU runasuser /RP userpassword
==> 创建计划任务 "gametime",在每月的第一个星期天
运行“空当接龙”。
SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN gametime
/TR c:\windows\system32\freecell
==> 在远程机器 "ABC" 创建计划任务 "report",
每个星期运行 notepad.exe。
SCHTASKS /Create /S ABC /U user /P password /RU runasuser
/RP runaspassword /SC WEEKLY /TN report /TR notepad.exe
==> 在远程机器 "ABC" 创建计划任务 "logtracker",
每隔五分钟从指定的开始时间到无结束时间,
运行 notepad.exe。将提示输入 /RP
密码。
SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE
/MO 5 /TN logtracker
/TR c:\windows\system32\notepad.exe /ST 18:30
/RU runasuser /RP
==> 创建计划任务 "gaming",每天从 12:00 点开始到
14:00 点自动结束,运行 freecell.exe。
SCHTASKS /Create /SC DAILY /TN gaming /TR c:\freecell /ST 12:00
/ET 14:00 /K
==> 创建计划任务“EventLog”以开始运行 wevtvwr.msc
只要在“系统”通道中发布事件 101
SCHTASKS /Create /TN EventLog /TR wevtvwr.msc /SC ONEVENT
/EC System /MO *[System/EventID=101]
==> 文件路径中可以加入空格,但需要加上两组引号,
一组引号用于 CMD.EXE,另一组用于 SchTasks.exe。用于 CMD
的外部引号必须是一对双引号;内部引号可以是一对单引号或
一对转义双引号:
SCHTASKS /Create
/tr "'c:\program files\internet explorer\iexplorer.exe'
\"c:\log data\today.xml\"" ...
PS C:\Users\Administrator> SCHTASKS /Delete /?
SCHTASKS /Delete [/S system [/U username [/P [password]]]]
/TN taskname [/F] [/HRESULT] [/?]
描述:
删除一个或多个计划任务。
参数列表:
/S system 指定要连接到的远程系统。
/U username 指定 schtasks.exe 要执行的用户上下文。
/P [password] 指定给定用户上下文密码。如果省略则 提示输入。
/TN taskname 指定要删除的任务的路径\名称。可以使用通配符 "*" 来删除所有任务。
/F 强制删除该任务,而且 如果指定的任务当前正在运行,则抑制警告。
/HRESULT 为获得更好的故障诊断能力,处理退出代码将采用 HRESULT 格式。
/? 显示此帮助消息。
示例:
SCHTASKS /Delete /TN * /F
SCHTASKS /Delete /TN "\备份\备份和还原"
SCHTASKS /Delete /S system /U user /P password /TN "\备份\启动还原"
SCHTASKS /Delete /S system /U user /P password /TN "\备份\启动备份" /F
PS C:\Users\Administrator> SCHTASKS /Query /?
SCHTASKS /Query [/S system [/U username [/P [password]]]]
[/FO format | /XML [xml_type]] [/NH] [/V]
[/TN taskname] [/HRESULT] [/?]
描述:
允许管理员显示本地或远程系统上的计划任务。
参数列表:
/S system 指定要连接到的远程系统。
/U username 指定 schtasks.exe 要执行的用户上下文。
/P [password] 指定给定的用户上下文密码。如果省略则提示输入。
/FO format 为输出指定格式。有效值: TABLE、LIST、CSV。
/NH 指定在输出中不显示列标题。只对 TABLE 格式有效。 仅适用于 TABLE 和 CSV 格式。
/V 显示详细任务输出。
/TN taskname 指定要检索其信息的任务路径\名称,否则会检索所有任务的信息。
/XML [xml_type] 以 XML 格式显示任务定义。 如果 xml_type 为 ONE,则输出为一个有效 XML 文件。 如果 xml_type 不存在,则输出将为 所有 XML 任务定义的串联。
/HRESULT 为获得更出色的故障诊断能力,处理退出代码 将采用 HRESULT 格式。
/? 显示此帮助消息。
示例:
SCHTASKS /Query
SCHTASKS /Query /?
SCHTASKS /Query /S system /U user /P password
SCHTASKS /Query /FO LIST /V /S system /U user /P password
SCHTASKS /Query /FO TABLE /NH /V
PS C:\Users\Administrator> SCHTASKS /Change /?
SCHTASKS /Change [/S system [/U username [/P [password]]]] /TN taskname
{ [/RU runasuser] [/RP runaspassword] [/TR taskrun] [/ST starttime]
[/RI interval] [ {/ET endtime | /DU duration} [/K] ]
[/SD startdate] [/ED enddate] [/ENABLE | /DISABLE] [/IT] [/Z] }
[/HRESULT] [/?]
描述:
更改要运行的程序,或计划任务使用的用户帐户和密码。
参数列表:
/S system 指定要连接的远程系统。
/U username 指定应在其中执行 schtasks.exe 的用户上下文。
/P [password] 指定给定用户上下文的密码。 如果省略则提示输入。
/TN taskname 指定要更改的任务的路径\名称。
/RU username 更改必须在其中执行计划任务的 用户名(用户上下文)。对于系统帐户, 有效值为 ""、"NT AUTHORITY\SYSTEM" 或 "SYSTEM"。 对于 v2 任务,"NT AUTHORITY\LOCALSERVICE"和 "NT AUTHORITY\NETWORKSERVICE"以及常见的 SID 对这三个也都可用。
/RP password 为现有用户上下文指定新密码或为新用户帐户指定密码。对系统帐户忽略此密码。
/TR taskrun 指定计划任务将运行的 新程序。
/ST starttime 指定运行任务的开始时间。 时间格式为 HH:mm (24 小时时间),例如 14:30 表示 2:30 PM。
/RI interval 用分钟指定 重复间隔。有效范围: 1 - 599940 分钟。
/ET endtime 指定运行任务的结束时间。时间格式为 HH:mm (24 小时时间),例如 14:50表示 2:50 PM。
/DU duration 指定运行任务的持续时间。 时间格式为 HH:mm。这不适用于 /ET。
/K 在结束时间或持续时间终止任务。
/SD startdate 指定运行任务的第一个日期。 格式为 yyyy/mm/dd。
/ED enddate 指定任务应该运行的最后一个日期。 格式为 yyyy/mm/dd。
/IT 仅有在 /RU 用户当前已登录且 作业正在运行时才可以交互式运行任务。 此任务只有在用户已登录的情况下才运行。
/RL level 设置作业的运行级别。有效值为 LIMITED 和 HIGHEST。默认情况下是不对其进行更改。
/ENABLE 启用计划任务。
/DISABLE 禁用计划任务。
/Z 标记在最终运行完任务后删除任务。
/DELAY delaytime 指定触发触发器后延迟任务运行的 等待时间。时间格式为 mmmm:ss。此选项仅对计划类型 ONSTART、ONLOGON 和 ONEVENT 有效。
/HRESULT 为获得更出色的故障诊断能力,处理退出代码将采用 HRESULT 格式。
/? 显示此帮助消息。
示例:
SCHTASKS /Change /RP password /TN "\备份\备份和还原"
SCHTASKS /Change /TR restore.exe /TN "\备份\启动还原"
SCHTASKS /Change /S system /U user /P password /RU newuser
/TN "\备份\启动备份" /IT
PS C:\Users\Administrator> SCHTASKS /ShowSid /?
SCHTASKS /ShowSid /TN taskname [/HRESULT] [/?]
描述:
向任务的专用用户显示 SID。
参数列表:
/TN taskname 指定计划任务的路径\名称。
/HRESULT 为获得更出色的故障诊断能力,处理退出代码将采用 HRESULT 格式。
/? 显示此帮助消息。
示例:
SCHTASKS /ShowSid /?
SCHTASKS /ShowSid /TN "\备份\启动备份"
SCHTASKS 命令与对应的 PowerShell 命令对比表格,展示了如何在 PowerShell 中执行与 SCHTASKS 相同或类似的任务管理操作:
命令 SCHTASKS 命令 PowerShell 命令 创建新计划任务 SCHTASKS /Create New-ScheduledTask 或 Register-ScheduledTask 删除计划任务 SCHTASKS /Delete Unregister-ScheduledTask 显示所有计划任务 SCHTASKS /Query Get-ScheduledTask 更改计划任务属性 SCHTASKS /Change Set-ScheduledTask 按需运行计划任务 SCHTASKS /Run Start-ScheduledTask 中止当前任务 SCHTASKS /End Stop-ScheduledTask 显示安全标识符 SCHTASKS /ShowSid Get-ScheduledTask (然后使用 `Get-ScheduledTask说明:
创建新计划任务:使用 PowerShell 的 New-ScheduledTask 或 Register-ScheduledTask 来创建新任务,通常通过 New-ScheduledTask 来配置任务,然后通过 Register-ScheduledTask 注册它。 删除计划任务:PowerShell 使用 Unregister-ScheduledTask 来删除现有任务。 显示所有计划任务:PowerShell 提供 Get-ScheduledTask 命令来列出系统中所有的计划任务。 更改计划任务属性:Set-ScheduledTask 用于修改计划任务的属性。 按需运行计划任务:PowerShell 使用 Start-ScheduledTask 来手动运行计划任务。 中止当前任务:通过 Stop-ScheduledTask 可以终止正在执行的计划任务。 显示安全标识符:PowerShell 中没有直接等效于 /ShowSid 的命令,但通过结合 Get-ScheduledTask 和适当的对象属性可以获得相应的信息。使用 PowerShell 命令来管理计划任务更加灵活,尤其适合自动化和脚本化管理。
定义
------------
Windows 计划任务程序(Windows Task Scheduler)是微软 Windows 操作系统中的一个功能,用于在指定的时间或事件触发时自动执行任务。计划任务程序可以帮助用户自动运行应用程序、脚本和命令,以及执行各种系统维护任务。
通过**计划任务程序**,用户可以创建、修改和删除计划任务。每个计划任务都可以在某个特定的时间点、每天、每周、每月或在某个特定事件发生时触发执行。用户还可以设置任务的优先级、操作系统所需的条件以及任务完成后是否运行其他任务。
要打开 Windows 计划任务程序,可以按下Win + R 键,在弹出的“运行”对话框中输入“taskschd.msc”,然后按下回车键。这将打开计划任务程序的主窗口。在该窗口中,用户可以创建新的计划任务,编辑已有的任务,或删除不再需要的任务。
**计划任务程序**对于自动化日常任务、定期备份数据、更新系统和软件等方面非常有用。用户可以根据自己的需求和时间安排,设置计划任务来提高工作效率和系统管理能力。
应用场景
------------
计划任务程序在Windows操作系统中有许多应用场景,以下是一些常见的应用场景:
**系统维护**:计划任务程序可以定期执行系统维护任务,如磁盘清理、碎片整理、系统更新等。这样可以保持系统的稳定性和性能。
**数据备份**:通过计划任务程序,可以自动执行数据备份操作,例如将重要文件或数据库定期备份到外部存储设备或云端。这样可以确保数据的安全性和可恢复性。
**定时运行应用程序**:如果经常需要在特定的时间点运行某个应用程序,例如定时启动一个数据分析工具、定时进行批处理作业等,可以使用计划任务程序来自动运行这些程序,减少手动操作。
**网络下载管理**:如果你想在网络流量较少的时段进行大量文件的下载,可以使用计划任务程序设置下载任务在夜间或闲置时间自动开始和停止,以充分利用网络资源。
**提醒和通知**:计划任务程序可以用于定期发送提醒和通知。比如,你可以设置一个每天早上发送邮件的任务,用于提醒你关键的待办事项或重要的会议安排。
**自动化脚本**:如果你经常执行一系列琐碎的重复任务,例如文件处理、数据转换或批量图像处理,你可以编写一个脚本,并使用计划任务程序定期执行该脚本。
**系统监控和报告**:通过计划任务程序,可以定期执行系统性能监控工具,并生成报告,用于分析系统资源使用情况、磁盘空间利用率等。这对于系统管理员和网络管理员来说非常有用。
**邮件自动发送**:可以使用计划任务程序设置自动发送邮件的任务。比如,每周一发送销售报表给管理人员,或者每月底发送财务报告给股东。
**网站更新和维护**:如果你管理一个网站,可以使用计划任务程序定期执行网站备份、数据库清理、日志文件归档等任务,以确保网站的正常运行和数据的安全性。
**执行定时任务**:有些应用程序或脚本需要在特定时间点执行,例如定时抓取网页数据、定时生成报表等。借助计划任务程序,可以准确地指定执行时间,实现定时任务自动化。
**定期更新软件**:计划任务程序可以用来定期检查和更新已安装的软件。这样可以确保你的系统和应用程序始终使用最新的版本,以提供更好的功能和安全性。
**远程连接和操作**:通过计划任务程序,可以设置定时连接远程服务器或设备,并执行一系列远程操作,如文件传输、命令执行等。
**数据库维护**:计划任务程序可以定期执行数据库备份、索引优化、数据清理等任务,确保数据库的正常运行和数据的完整性。
**文件同步和备份**:如果你需要将文件同步到多个位置或备份到不同的存储设备,可以使用计划任务程序定期执行文件同步或备份任务,保护重要数据的安全性和可恢复性。
**自动化测试**:计划任务程序可以用于定时执行自动化测试脚本,例如网站功能测试、性能测试等。这样可以减少人工测试的工作量,提高测试效率和质量。
**定时更新内容**:如果你经营一个博客或网站,并希望定期发布新内容,可以使用计划任务程序设置定时发布任务,确保内容按时更新。
**系统优化和调整**:通过计划任务程序,可以定期执行系统优化操作,如定时清理临时文件、优化磁盘空间、检查和修复系统错误等,以提升系统性能和稳定性。
**日志管理**:计划任务程序可以帮助管理日志文件,定期归档、清理或备份日志文件,以减少存储空间占用和方便日后的审计和分析。
**定时提醒活动**:计划任务程序可以设置定时提醒活动,例如定期锻炼、喝水提醒、休息提醒等,帮助提高生活和工作的效率。
**数据处理和分析**:通过计划任务程序,可以定期执行数据处理和分析任务,如数据清洗、报表生成、数据挖掘等,以获取有价值的信息和洞察。
**网络安全检查**:计划任务程序可以定期运行网络安全扫描工具,以识别潜在的漏洞和安全风险,并采取相应的措施进行修复和强化网络安全。
**资源调度和管理**:计划任务程序可以帮助管理和调度资源,如定时启动或关闭服务器、分配和释放内存、管理网络带宽等,以优化资源利用效率。
**数据同步和集成**:如果你有多个数据源需要同步和集成,可以使用计划任务程序定期执行数据同步或集成任务,以保持数据的一致性和完整性。
**定时备忘和提醒**:计划任务程序可以设置定时备忘和提醒任务,例如会议提醒、生日提醒、付款提醒等,帮助你及时处理重要事务和安排日程。
**版本控制和发布**:计划任务程序可以定期从代码仓库拉取最新的代码,并进行版本控制和发布任务,以确保软件开发过程的协调和发布的稳定性。
**网络爬虫和数据抓取**:计划任务程序可以定期执行网络爬虫和数据抓取任务,用于收集特定网站或平台上的数据,并进行进一步的分析和利用。
**定时维护和重启**:计划任务程序可以定期执行系统维护任务,如磁盘碎片整理、服务重启、软件更新等,以确保系统的稳定性和正常运行。
**异常监测和报警**:通过计划任务程序,可以定期检测系统或应用程序的异常状态,并触发报警机制,及时采取措施解决问题,以保证系统的可靠性和可用性。
**自动化部署和集成**:计划任务程序可以用于自动化部署和集成任务,例如定时执行构建、测试和部署代码的工作流程,以加快软件开发和交付的速度。
资源预测和规划:通过计划任务程序,可以定期收集和分析系统资源的使用情况,预测未来的资源需求,并进行相应的规划和调整,以提高资源利用效率。
各个版本,年代、功能更新:
------------
Windows Task Scheduler 是 Windows 操作系统中的一个组件,用于管理和定时执行计划任务。下面是 Windows Task Scheduler 各个版本的年代和功能更新的简要概述:
Windows NT 4.0(1996年):Windows NT 4.0 中引入了 Windows Task Scheduler。它具备基本的任务调度功能,可以定时运行命令行脚本、可执行文件等。
Windows 2000(2000年):Windows 2000 中的 Task Scheduler 有了一些改进,包括增加了图形用户界面(GUI)、支持多用户和远程管理等功能。
Windows XP(2001年):Windows XP 中的 Task Scheduler 包含了一些性能和稳定性改进,同时增加了对系统的自动维护、定时备份、系统还原点和自动更新等功能的支持。
Windows Vista(2007年):Windows Vista 的 Task Scheduler 进行了较大的升级,引入了 XML 格式的任务定义、新的任务触发器类型(如日历触发器和事件触发器)、任务的条件执行、任务历史记录等功能。
Windows 7(2009年):Windows 7 中的 Task Scheduler 继续改进,包括增加了任务的导出和导入功能、改进了任务安全性和权限管理,以及更好的任务触发器和条件设置。
Windows 8 / 8.1(2012年):Windows 8 和 8.1 中的 Task Scheduler 增加了更多的触发器选项,包括网络连接状态、登录和注销事件、存储设备的插入和拔出等。
Windows 10(2015年):Windows 10 中的 Task Scheduler 支持新的一次性触发器、动作的多个实例、优先级设置、更灵活的条件触发设置等功能。此外,还增加了 PowerShell 脚本的支持。
Windows Server 2012 / Windows 8.1 Update(2013年):这个版本引入了一些性能优化和稳定性改进,同时增加了一些新的触发器类型,如系统事件触发器和注册表更改触发器。
Windows Server 2016 / Windows 10 Anniversary Update(2016年):该版本进一步改进了 Task Scheduler 的可靠性和性能,包括增强了任务历史记录和日志记录、改进了任务导入和导出功能。
Windows Server 2019 / Windows 10 October 2018 Update(2018年):在这个版本中,Task Scheduler 支持了一些新的触发器选项,例如计算机空闲触发器、电源状态变更触发器等。
Windows 10 May 2019 Update(2019年):此版本引入了一些新的功能,包括高级电池信息触发器、网络失去连接触发器、用户登录和注销触发器等。
Windows 10 November 2019 Update(2019年):在这个版本中,Task Scheduler 支持了一些新的功能,如更多的触发器选项、改进的任务编辑器和条件设置等。
Windows 10 May 2020 Update(2020年):此版本对 Task Scheduler 进行了一些性能优化和改进,提升了任务的执行效率和稳定性。
Windows 10 October 2020 Update(2020年):该版本引入了一些新的触发器类型,例如音量变化触发器和动态锁定触发器,同时改进了任务状态和运行时信息的显示。
Windows 10 May 2021 Update(2021年):在这个版本中,Task Scheduler 增加了一些新的功能和改进,包括支持传递参数给 PowerShell 脚本、改进的权限管理和安全性控制等。
Windows 10 October 2021 Update(2021年):在这个版本中,Task Scheduler 引入了一些新的功能和改进,包括增加了对 Bash 脚本的支持、改进了任务编辑器和触发器选项、增强了任务历史记录和错误处理等。
Windows 11(2021年):Windows 11 带来了全新的用户界面和体验,并且 Task Scheduler 作为操作系统的组件之一也得到了改进。具体的改进和功能更新尚未公布,但可以期待更好的性能、可靠性和用户友好性。
需要注意的是,每个 Windows 版本的功能更新可能会有所不同,具体的改进和功能也可能有所差异。微软通常会定期发布安全更新和修复程序,以解决 Task Scheduler 中发现的漏洞和问题,并持续改进其功能和性能。
是什么? 为什么? 怎么使用?
------------
在 Windows 平台上,有一些替代品可以用于替代内置的计划任务程序,提供更多功能和灵活性。
> 以下是几个常用的 Windows 计划任务程序的替代品:
Advanced Task Scheduler:提供了强大的计划任务管理功能,允许创建复杂的任务计划,包括条件触发、事件触发、多种计划选项等。还支持执行各种操作,如启动程序、运行脚本、发送邮件等。
VisualCron:具有直观的用户界面和高级的计划任务功能。它支持复杂的任务计划,包括流程控制、条件触发、远程执行等。还提供了日志记录、报警通知和监控功能。
System Scheduler:提供了灵活的计划任务管理功能,支持多种计划选项和触发器类型。可以执行各种任务,如启动程序、发送消息、运行脚本等。还可以设置任务间的依赖关系。
Task Till Dawn:一个开源的计划任务管理工具,支持简单的计划任务设置和执行。可以设置任务的执行时间、间隔和重复次数。同时提供了任务执行日志和邮件通知功能。
CronTab:一个类 Unix 计划任务工具的 Windows 版本。它基于命令行,可以设置任务的执行时间和命令,并支持一些高级功能,如环境变量、重定向输出等。
这些替代品提供了更多灵活性和功能来管理计划任务,可以根据具体的需求选择适合的工具。在选择时,建议考虑工具的易用性、功能完整性、支持和社区等因素,以及与其他系统集成的能力。
除了之前提到的替代品,还有以下一些常用的 Windows 计划任务程序的替代品:
TaskSchedulerView:一个免费的小型工具,可以查看和管理 Windows 计划任务。它提供了直观的用户界面,并支持导出和导入任务计划。
RoboTask:一个功能强大的自动化工具,可以创建和管理计划任务。它支持多种触发器和动作,包括文件操作、网络操作、系统操作等。
Z-Cron:一个全功能的计划任务管理工具,支持多种计划选项和触发器类型。它还提供了监控和日志记录功能。
TaskUnifier:一个开源的计划任务管理工具,支持多种任务管理功能,包括计划任务设置、执行监控、提醒通知等。
以下是另外一些常用的 Windows 计划任务程序的替代品:
Task Scheduler Pro:这是一款专业级计划任务管理工具,提供了高级的计划任务功能,如任务调度、执行控制、计划任务备份和还原等。
Wise Auto Shutdown:这是一个简单易用的计划任务工具,可以设置定时关机、重启、睡眠或锁定计算机。它还可设定循环执行的计划任务。
Freebyte Task Scheduler:这是一个简单而功能强大的计划任务管理器,支持多种触发器和计划选项。它可以执行各种操作,如运行程序、打开文件、发送邮件等。
Pycron:这是一个基于 Python 的开源计划任务工具,可以在 Windows 平台上创建和管理计划任务。它提供了灵活的任务调度和执行控制。
System Scheduler Free:这是 System Scheduler 的免费版本,提供了基本的计划任务管理功能,支持多种计划选项和触发器类型。
请注意,选择合适的替代品要根据个人需求和偏好进行评估。以上列出的替代品都有不同的特点和功能,可以根据自己的需求选择最适合的工具。
VisualCron Lite:VisualCron 的免费版本,提供了基本的计划任务管理功能,适合日常轻量级使用。
这些替代品都有各自的特点和功能,可以根据需求选择适合的工具。需要注意的是,某些替代品可能是商业软件,可能会有免费版本或试用版,可根据实际情况进行选择。同时,建议在选择工具时,考虑其对 Windows 平台的兼容性、易用性和功能完整性。
网址:Windows 计划任务程序(Windows Task Scheduler)是微软 Windows 操作系统中的一个功能,用于在指定的时间或事件触发时自动执行任务。计划任务程序可以帮助用户自动运行应用程序、脚本和命令,以及执行各种系统维护任务 应用场景 各个版本年代功能更新 https://www.yuejiaxmz.com/news/view/1377255
相关内容
windows计划任务执行python脚本如何使用任务计划程序自动执行任务
利用windows的任务计划让php代码自动执行
掌握Windows任务计划程序:轻松自动化日常任务,提高效率不求人
如何利用Windows计划任务自动化你的日常任务?
如何使用PowerShell自动化Windows任务
自动执行 Windows 计算机的维护任务
掌握Windows定时任务,告别手动重复劳动:轻松设置,自动执行,效率生活新体验!
如何在Windows上使用任务计划程序自动执行批处理文件
后台执行 Windows 计划任务:自动化任务的全面指南