Windows Vista 任务计划程序

摘要
Windows Vista 具有一个新的任务计划程序 (Task Scheduler) 服务,用户可根据日程安排或者为响应事件或系统状态的改变,以可控和无人值守的方式管理任务的执行。

根据发生的事件执行操作的能力使得有预见性的特殊系统管理操作成为可能。IT 专业人员现在可将计算机配置为自动响应潜在的系统问题,其中包括间歇性和难于重现的故障。此外,他们还可以设置更复杂和更苛刻的任务,让这些任务按顺序运行,或者响应多个触发器和条件发生的变化。任务可以通过电子邮件通知负责该问题的 IT 专业人员,并且可加载一个诊断程序,甚至是自动解决问题。

对于定期执行的管理任务,Windows Vista 任务计划程序允许 IT 专家定义他们自己的日常工作,这些任务甚至在计算机处于待机或休眠状态也可以运行。任务计划程序唤醒计算机来运行任务,并在任务完成后允许计算机重新返回待机或休眠状态,从而在确保关键任务按时运行的同时节约了能源。

*
本页内容
简介简介
术语术语
Vista 之前的任务计划程序Vista 之前的任务计划程序
Windows Vista 的新增和增强功能Windows Vista 的新增和增强功能
总结总结

简介

在当今强调成本意识的情况下,IT 专业人员必须确保数量不断增加的客户端计算机能够可靠运行。为了使这些计算机平滑运行,诸如备份软件、病毒扫描以及磁盘碎片整理这样的标准程序必须定期且可靠地运行。严格的服务水平协议(Service Level Agreement,SLA)促使 IT 人员必须尽快对系统事件做出响应,提供有预见性的支持以及努力工作以避免数据受到损失。

Windows Vista 中的任务计划程序极大扩展了先前版本的 Windows 中内置的计划任务 (Scheduled Tasks) 工具。它提供了必需的灵活性,允许管理员更可靠和更安全地自动执行常见桌面管理任务,以及更轻松地为数量不断增加的客户端计算机提供技术支持服务。该工具中的改进为以前所未闻的新方法使用任务计划打开了一扇方便之门。

通过运行自动化的标准桌面任务,企业可从以下几个方面受益。支持成本将下降,最大限度降低数据丢失,以及让程序更经常地按照期望运行。客户端计算机将以更可靠和更健壮的方式工作,IT 人员得以解放出来处理那些能够增添商业价值的问题。

本白皮书简要介绍了 Windows Vista 任务计划程序中包含的新功能,其中包括:自动响应事件和系统条件的能力;任务计划;监视、管理任务以及可靠性和安全性方面的改进。另外,文章还将描述 IT 专业人员使用任务计划程序来更有效管理桌面系统的几种途径。

返回页首返回页首

术语

任务计划程序将任务定义为操作单元。一个任务由启动条件(包括触发器条件以及设置)以及一个或多个执行操作(称作操作)组成。

触发器是条件的集合,在满足这些条件时,任务将被执行。触发器可以基于时间,也可以基于事件,它指定了任务启动时间、重复条件以及其他参数。

条件用来将任务限制为仅在计算机处于某个给定状态时才运行。只有当有关任务的所有条件都为真并满足触发器时,才启动任务。例如,可以设定为只有在网络可用并发生某个事件时,才启动某个程序,或者仅在计算机空闲并且处于规定的时间段内时,才执行某个操作。

设置提供了一些任务执行选项。例如,可使用设置来指出以多长的时间间隔来重试某个操作。

操作是满足触发器和条件时要执行的命令。例如,操作可以是启动程序或发送电子邮件。

返回页首返回页首

Vista 之前的任务计划程序

虽然 Windows XP 和 Windows Server 2003 也提供了任务计划程序,而且该版本的任务计划程序也可以通过定期执行管理任务让用户受益匪浅,但是该版本在可靠性、安全性以及监控任务执行方面具有一些不足。

Windows XP 中的主要可靠性问题是凭证管理。由于任务的凭证在本地存储,域或本地密码发生的任何更新都可能让任务变得无效。定期更改密码是大多数企业奉行的准则,所以 IT 专业人员被迫定期更新每个任务的凭证。

在对 Windows Server 2003 的安全性进行强化时,大量的潜在安全漏洞迫使微软将任务计划程序服务限制为只能由管理员使用,大大减少了它的用武之地。

在任务执行失败的情况下,将通过显示上次执行的任务的错误代码来向用户提供反馈。如果在能够访问任务计划程序控制面板小程序之前执行了多个任务,除最后错误代码外的所有错误代码都将丢失,并且没有任何办法找回它们。不会保留任务的历史记录。

在 Windows Vista 之前,任务计划程序只能配置为在计划任务中启动单个操作。IT 专业人员无法定义操作的顺序,他们必须确定操作队列中的每个进程将会执行多长时间,然后“估计”任务之间的正确时间窗口,确保启动下一个任务之前先前任务已经执行完毕。缺少灵活性使得任务很可能无法正确运行或者根本无法运行,例如,如果报告数据收集任务没有按时完成,那么报告应用程序将无法执行。

最后,在 Windows Vista 之前,任务计划程序只能用于在特定时间启动任务,或者只能响应有限的系统条件(参见图 1)。任务不能基于事件被触发,因此任务计划程序只能定期执行预先计划的任务。

Windows XP Task Scheduler could launch scheduled tasks, such as backup, on a periodic basis

图 1. Windows XP 任务计划程序可以定期启动计划的任务,例如备份。

返回页首返回页首

Windows Vista 的新增和增强功能

Windows Vista 可以在指定的时间更可靠、更安全且更可预测地运行计划作业。但是 Windows Vista 任务计划程序并非只能简单地设置任务的运行日程,任务计划程序中的新功能还能够满足更复杂的需要,更有前瞻性地对系统和应用程序进行管理,尤其是任务同步和基于事件的操作。Windows Vista 任务计划程序为管理员轻松、可靠地管理客户端计算机提供了平台。

新的触发器。根据事件日志中捕获的任何事件触发任务的能力是 Windows Vista 任务计划程序新增的最重要功能之一。这种新增能力允许管理员在发生指定事件时自动发送一封电子邮件或启动某个程序。而且,还可使用此功能在发生重要事件时自动通知支持人员,例如,在客户端计算机上发生了硬盘驱动器故障。它还能用于更复杂的情况,例如找出某个似乎整晚不断发生的间歇性问题。可将任务计划程序配置为在发生问题时使用电子邮件通知管理员。此外,在发生错误时,管理员还可使用任务计划程序自动启动程序来收集更多数据。

利用 Windows Vista 中新增的“任务计划程序向导”,可轻松将任务设置为在发生事件时启动(图 2)。管理员只需在作为触发器使用的事件查看器中选择任务,然后通过一次单击,即可启动任务计划程序向导来设置该任务。借助任务计划程序用户界面和事件查看器之间的无缝集成,只需通过五次单击便可创建由事件触发的任务。

Windows Vista Task Scheduler Wizard can be launched from the Event Viewer

图 2. Windows Vista 任务计划程序向导可从事件查看器中启动。
查看大图。

除了事件之外,Windows Vista 中的任务计划程序还支持其他各种新的触发器类型,包括在计算机空闲、启动或登录时启动任务。新增的大量触发器使得管理员得以将任务设置为在会话状态发生变化时运行,包括连接到终端服务器和断开连接,以及工作站的锁定和解锁。任务计划程序仍然允许按照时间和日期来触发任务,并可更容易地管理定期执行的计划任务。

在新的任务计划程序中,可进一步对触发器进行定制以进行微调,指定何时和以何种频率运行任务。管理员可在触发器中添加一个延迟,或者将任务设置为在满足触发器后以定期的时间间隔重复运行。此外,管理员还可以对任务设定限制,指出任务在给定时间期限之后必须停止运行。还可指定激活和过期日期。

图 3 展示了使用“创建新触发器”对话框创建和自定义触发器时可使用的控件。该对话框可用来设置新触发器或自定义任务计划程序向导创建的某个事件触发器。

Advanced options allow administrators to customize triggers

图 3. 高级选项允许管理员自定义触发器。
查看大图。

条件和设置。触发器、条件、设置和操作的组合提供了一个强大且广泛的激活模式。

可为每个任务定义许多条件。条件用来将任务限制为仅在计算机处于某个给定状态时才运行。例如,在新的任务计划程序中,可以仅在网络可用且发生了事件时启动某个程序,进在计算机空闲且处于特定时间段时启动操作,或者仅在计算机没有处于电池模式且正在进行登录时执行某个操作。

在 Windows Vista 中,管理员可根据计算机的空闲状态、计算机的电源(AC 还是电池)、网络连通性以及计算机的电源状态(“开启”还是在睡眠状态)来定义条件。例如,可将任务设置为仅在计算机使用 AC 电源时才运行,并在计算机开始使用电池电源时停止运行,或者仅当计算机连接到网络时运行。也许,更重要的是,可将任务配置为从休眠或待机状态中唤醒计算机并运行任务。图 4 展示了根据状态设置任务的对话框。

Administrators can indicate the conditions required for a task to launch

图 4. 管理员可指出启动任务所需的条件。
查看大图。

管理员可使用设置来向任务计划程序指明在任务无法正确运行时应执行的操作。在任务失败时,管理员可指定任务的重试次数。如果在计划运行任务的时间计算机没有加电运行,管理员可使用设置来确保任务在计算机可用后立即运行。管理员还可定义任务的最大执行时间,确保其在运行过长时间后会因超时而停止。

设置对话框(图 5)提供了执行选项,例如在运行时间过长时停止任务或者在无法运行时进行重试。

Settings provide flexibility should tasks fail or take too long to complete

图 5. 设置为任务失败或运行时间过长的情况提供了灵活性。
查看大图。

灵活的操作和触发器。在 Windows Vista 之前,每个任务都根据单个触发器而启动(通常是时间),而且给定任务只能包含一个操作。Windows Vista 任务计划程序则具有更高的灵活性,可将触发器链接到操作,允许 IT 管理员使用该工具管理更复杂的应用方案。

在 Windows Vista 中,可将多个触发器附加到某个给定任务。例如,可能只应在发生三个不同事件时才指出某个给定的错误条件。管理员可轻松地将任务定义为在所有三个事件发生之后才启动任务。

不仅任务可要求多个触发器,而且单个任务也可启动多个操作。现在,可以对操作进行同步,既可以在单个任务中按顺序运行多个操作,也可以使用先前任务触发的条件来启动下一个任务,从而将所有任务串接在一起。这种同步使如下一些应用成为可能:首先检查磁盘是否存在故障,运行磁盘清理,压缩文件,最后备份到共享位置。所有这些操作都可以在单个任务内完成。

新的任务计划程序消除了尝试按顺序运行任务时的主观臆测。例如,假定管理员需要在每晚 1 点钟运行某个特殊的批处理,然后在完成后将处理结果打印出来。在 Windows Vista 之前,管理员需要使用两个任务来自动执行此过程:一个任务在 1 点钟启动,负责运行该批文件;而另一个程序则负责打印结果。为此,管理员必须猜测批处理过程需要多长时间才能完成,然后将打印任务设置为在适当的时间间隔后完成。如果批处理过程没有在打印过程开始之前完成,或者未能完全正确地运行,那么将无法打印出结果。

利用 Windows Vista,则可轻易地管理此应用情境。可在单个任务中定义在 1 点运行该批过程,然后在批过程完成后打印相关结果。图 6 描绘了管理员在单个任务中附加多个操作的具体方式。

Multiple Actions can be defined for a single task

图 6. 可在单个任务中定义多个操作。
查看大图。

安全性。在 Windows Vista 任务计划程序中,安全性已得到极大改善。任务计划程序支持一种安全性隔离模式,在该模式中,运行在特定安全上下文中的每个任务都在一个单独的会话中启动。不同用户的任务在不同会话中启动,并且与其他任务以及在计算机(系统)上下文中运行的任务完全隔离开来。如果需要,密码将使用加密接口保存在凭证管理器(Credentials Manager,CredMan)服务中。使用 CredMan 可防止恶意软件取得存储的密码,从而进一步提高了安全性。

在 Windows Vista 中,任务计划程序的凭证管理负担被减轻了。大多数情况下,凭证不再保存在本地,因此任务不会由于密码更改而被“破坏”。管理员可配置 Service for Users (S4U) 和 CredMan 这样的安全服务,具体情况视任务是否需要远程或本地资源而定。S4U 消除了在计算机上本地存储密码的需要,而 CredMan 则可使用新密码自动更新为特定用户配置运行的计划任务(尽管需要为每台计算机更新一次密码)。

可靠性。Windows Vista 任务计划程序在多个层面上提高了其可靠性和可用性。首先,任务计划程序现在包括了一个在任务失败时进行重试的选项,这为管理员提供了指定重试次数和重试间隔的灵活性。

在到达了任务的规定运行时间时,任务计划程序可确保任务在计算机处于睡眠状态时也可执行。这种新功能允许任务计划程序从待机或休眠状态唤醒计算机来运行任务,使得管理员可充分利用 Windows Vista 中更强的节能模式,而无需担心是否能够按时执行重要任务。

除了能够唤醒计算机运行任务之外,管理员现在可指定一个选项,以在计算机可用时运行任务。如果选择了此选项,任务计划程序会在计算机加电启动之后运行任务,即使已经过了先前计划的任务执行时间。例如,如果计划在 3:00 AM 运行病毒扫描,但是笔记本电脑没有打开,那么任务计划程序会在计算机下次打开时执行病毒扫描。Windows Vista 为 IT 专业人员提供了多种选项,确保关键任务能够尽快运行。

性能。Windows Vista 中的任务计划程序包括一些选项,确保任务不会影响系统性能或致使重要工作中断。IT 专业人员可将任务计划程序设置为仅当计算机处于空闲状态时才激活任务。此功能与对任务优先级的支持结合在一起,允许以非侵入性的方式加载后台操作。

脚本编写和命令行选项。改善用户体验是 Windows Vista 任务计划程序的主要目标之一。对于喜欢使用命令行工具而不是 GUI 的 IT 专业人员,schtasks.exe 命令行工具已得到扩展,涵盖了 Windows Vista 中新增的所有新功能。此外,现在可以使用应用程序编程接口 (API) 编写脚本。

监视和管理任务。出于监视、同步和运行状况管理的需要,任务计划程序使用一组预定义事件,在事件日志中记录其执行状态。经过重新设计的新用户界面(作为 MMC 管理单元提供)能够通过摘要页面、任务历史和详细的任务视图来监视和控制任务。可通过摘要页(图 7)快速查看在可配置时间窗口中执行的任务的概览信息以及它们的成功/失败结果,还可以查看计算机上仍处于活动状态的所有任务的概览信息。

The Summary Page provides a quick overview of recent and pending tasks

图 7. 摘要页包含最近执行任务以及未决任务的简要概览信息。
查看大图。

历史页(图 8)允许管理员深入查看在一个可配置的时间段内执行的任务的所有实例。它提供了这些任务的执行状态,以及任务的运行时间和日期。

Detailed information about all recently scheduled tasks is available in Windows Vista

图 8. 在 Windows Vista 中,可以查看与最近执行的所有计划任务有关的详细信息。
查看大图。

“计划任务详细信息”(图 9)则提供了所有计划任务的详细信息。上部窗格包含在计算机上预先计划的任务的列表。底部窗格显示了列表中被突出显示的任务的详细信息。可单击选项卡,查看每个任务的触发器、操作、条件和设置。

The Scheduled Tasks Page provides details about all pending tasks

图 9. 计划任务页提供了有关所有未决任务的详细信息。
查看大图。

返回页首返回页首

总结

任务计划程序能帮助 IT 专业人员更快、更智能和更安全地工作。它在任务的定义、日程设定以及自动执行独立、重复或顺序化任务方面具有更高的灵活性。它能够有预见性地对错误条件做出响应。它不仅易于访问,而且易于使用。它能够以透明、一站式的方式查看企业系统中的任务和事件信息。简而言之,Windows Vista 任务计划程序是一个可靠、功能强大的 IT 工具。


返回页首返回页首