Windows工作排程器

任务计划程序(),也称计划任务。这是Microsoft Windows中的一个组件,可以预先计划在特定时间或指定时间后启动程序或脚本。它在Windows 95的Microsoft Plus!中以“系统代理”(System Agent)首次引入,随后在Windows 98中被更名为任务计划程序。任务计划程序启动前,Windows事件记录服务必须已在运行。

此服务不应与计算机调度混淆,因其为分配CPU资源到内存中的进程。

版本
任务计划1.0
任务计划程序1.0搭载于Windows 2000、Windows XP和Windows Server 2003。它运行为一个Windows服务,任务定义和计划存储于二进制的.job文件,操作各任务就是直接操作各.job文件,每个任务对应一个操作。在Windows 95、Windows 98和Windows Me中,任务计划程序使用一个普通的mstask.exe程序运行。在Windows 95和Windows 98中,它还在通知区域显示一个状态图标;在Windows Me中则是运行为一个隐藏服务,但可以显示一个托盘图标。在Windows 2000、Windows XP和Windows Server 2003中,它被实现为一个Windows服务,计算机程序和脚本可以通过六个COM接口访问此服务。微软还提供了一个计划助手DLL、一个例子VBScript和一个自动任务计划程序的配置文件。

任务计划程序除了控制面板中的图形用户界面,Windows还提供两个命令行工具来管理计划任务:at.exe(已弃用)和schtasks.exe。但是,at.exe不能访问用控制面板或schtasks.exe创建或修改的任务。另外,使用at.exe创建的任务默认非交互;交互任务需要被显式请求。

任务计划2.0
任务计划程序2.0在Windows Vista、Windows Server 2008及之后版本中存在。Windows Vista使用任务计划程序2.0运行各种系统级任务;因此,任务计划程序服务不再允许被禁用(除非直接修改注册表)。

任务计划程序2.0提供了一个API以允许计算机程序和脚本创建任务。它采用42个COM接口组成。任务计划程序2.0的任务文件基于XML并且人类可读,遵循“任务计划程序方案架构”。虽然可以做到,但微软不建议手动创建任务文件,而应该使用任务计划程序API。

其他功能

  • 新的安全功能,包括使用“凭据管理器”为工作组计算机的任务提供密码,使用Active Directory为的计算机的任务提供凭据,以防止这些信息被轻易检索。另外,计划任务会在其自身的会话执行,而不是使用当前用户的系统服务会话。
  • 可以唤醒远程计算机,或使用BIOS计时器将机器从睡眠或休眠中唤醒,以执行计划任务或运行刚错过的计划任务。
  • 可以将任务直接附加到事件查看器中的事件。

任务
任务计划程序按各项受管理的任务运作。任务会在特定条件下以执行操作响应。定义一个任务可以关联一系列操作,其中可以包括启动应用程序或采取其他自定义操作,to a set of triggers, which can either基于时间或基于事件。此外,一个任务也可以包含定义如何执行操作的元数据,例如任务将在哪个安全上下文运行。任务被序列化为.job文件并存储在名为“任务文件夹”的特殊文件夹中。在编程角度,任务文件夹可以使用ITaskFolder接口或TaskFolder脚本对象访问,单个任务可以使用IRegisteredTask接口或RegisteredTask对象访问。

软件缺陷
在Windows 2000和Windows XP中,当计算机准备使用sysprep进行磁盘映像时,分配给以系统权限运行的任务不起作用。Sysprep会更改安全标识符(SID)以避免重复,但不会更新计划任务为使用新的SID。因此,所有SYSTEM的计划任务在映像的计算机上都会运行失败。没有适用于此问题的解决方案,但重新计划该任务可以暂时缓解问题。

在Windows Vista和Windows Server 2008上,如果未安装Service Pack 2,任务计划程序中的“下次运行时间”可能显示错误。

當用戶在Windows Vista、7、2008以及2008 R2作業系統上的「微软管理控制台」运行“任务计划程序2.0”版本时会提示用户當前正在运行“任务计划程序1.0”的通知。雖然只是一个不足为虑的小瑕疵,很可能是软件开发人员在重写该组件时忘记修复此Bug。但在后续的Windows 8和Windows Severe 2012作業系統中已得到糾正。

参见
*

  • cron

*

  • Windows任务管理器

参考资料
外部链接

评论 (0)

  • 还没有评论,来抢沙发吧。