自动维护
维护活动是指有助于维护 Windows 电脑运行状况和性能的应用程序或过程。 维护包括保留 Windows作系统(OS)和应用程序 up-to日期、检查安全性以及运行恶意软件扫描。 Windows 自动管理(WAM)是对任务计划程序 API 的一组增强功能,可用于将应用程序链接到 Windows 维护计划。 具体而言,WAM 允许添加需要定期计划但没有确切时间要求的活动。 相反,WAM 依赖于作系统来选择适当的时间来全天激活任务。 系统根据对用户、电脑性能和节能的影响最小选择这些时间。
计划内维护的工作原理
任务计划程序维护任务是计算机空闲和 AC 电源时运行的机会任务。 维护任务的主要目标之一是,仅当电脑插上 AC 电源和空闲状态(即,未使用或离开计算机时),才能将维护计划到电脑的影响降到最低。 目前维护的想法是让计算机在对用户造成最少中断的情况下执行工作。 因此,旧式维护时间(我们在 自动维护(本主题后面的每日唤醒 部分)进行了改进,以便利用这些空闲期。 尽管仍可以利用维护时间,但运行机会性维护更适合系统运行状况。
如果计算机闲置和交流电源花费的时间不多,则任务可能会耗尽。 确保方案仍会向用户提供值,即使延迟也是如此。 如果用户正在主动使用计算机,则系统将维护延迟到以后。 如果用户返回使用电脑,系统还会挂起任何正在执行的维护任务。
系统在下一个空闲期间重启挂起的维护任务;但是,系统不会挂起标记为关键的任何任务。 相反,无论用户作如何,系统都允许关键任务完成。
由于计划的性质,某些计划任务可能无法完成:也许有太多的计划事件无法适应 1 小时维护时段,或者计算机根本未打开。 在这种情况下,可以使用截止时间定义任务。 截止时间定义为系统必须至少成功执行一次任务的定期时间范围。
如果任务错过了截止时间,则维护计划程序将继续尝试在维护时段内执行任务。 此外,计划程序不会将自身限制限制为常规 1 小时时间限制。 相反,计划程序会延长维护时段的持续时间,以完成延迟的任务。
系统完成任务(即使出现失败错误代码),尝试将被视为成功。 成功尝试后,计划程序将重置为常规维护计划,并将在下一个时间段内尝试该任务。
自动维护 - 每日唤醒
在 Windows 7 上,维护任务仅在 维护时间期间运行,默认为凌晨 3 点,并通过组策略进行配置。 计算机将从备用状态唤醒、运行维护任务并返回到睡眠状态。 此每日会话限制为每次尝试的最大持续时间为 1 小时。 这将允许系统每天执行维护,从默认上午 3 点开始。 请注意,用户可以通过配置这些设置重新计划维护触发的时间。
随着笔记本电脑的出现和对电池使用时间的沉重关注,计算机不再配置为在大多数情况下允许 S3 唤醒,通常 Doze-To-S4 (休眠)尽快节省电池。 为了响应这些更改,任务计划程序(> Win7)会在维护任务到期时运行维护任务,计算机处于空闲状态,在 AC 电源上运行。
可以在控制面板中配置此设置。
打开 控制面板>系统和安全>安全维护>自动维护。
因此,根据计算机和任务的配置方式,由于此新配置,每日唤醒行为可能不会按预期发生。 首先可以确定计算机是否支持 S3 或 CS(连接待机)。 可以通过打开提升的 Power shell 提示符并运行以下命令来完成此作。
powercfg /a
维护小时,如果计算机配置正确,仍有效,但如果不起作用,则为
- 检查 BIOS 设置以获取唤醒设置。
- 检查是否在电源选项中启用了“允许唤醒计时器”。 转到 控制面板>硬件和声音>电源选项>编辑计划设置>更改高级电源设置> 单击 睡眠>允许唤醒计时器。
- 检查计划的任务是否配置了以下内容。
- MaintenanceSettings:任务应配置时间段、截止时间。
- 已启用:应启用任务。
- WakeToRun:应允许任务唤醒计算机。
- 对于从 CS 计划唤醒,计算机应支持 AOAC。
- 对于在 S3 计算机中计划唤醒,
- 检查计算机是否进入 AC 电源上的 S3。
- 系统应在组策略中 启用唤醒 进行维护。
连接待机是 AOAC 兼容的系统可以输入的系统状态。
请参阅新式待机与 S3 主题新式待机与 S3 之间的差异。
定义自动维护任务
可以将任何任务计划程序任务转换为维护任务。 为此,必须确认应用程序可以挂起。 然后,必须使用新的 MaintenanceSettings 和 AllowStartOnDemand 元素来扩展任务定义。
创建维护任务的主要问题是确保系统可以暂停并重启任务。 系统可能会多次暂停维护任务;因此,需要确保应用程序能够保存自己的状态,然后在任意时间恢复。 这可确保系统不会重复执行同一部分任务。
确保应用程序可以正常挂起和恢复后,可以使用 MaintenanceSettings,AllowStartOnDemand 元素定义计划。 MaintenanceSettings 根据时间段、截止时间和排他性定义。
- 期 是必需的,并定义任务应发生的频率。 通常,这在多天周期中定义,例如“每 5 天一次”。 一个时间段必须至少为一天,这意味着不能将任务安排在一天内多次发生。
- 截止时间 是可选的,并定义计划程序在通知用户或执行紧急维护之前无法完成任务的时间。 截止时间必须长于时间段,这意味着系统必须有机会在通知用户之前至少尝试一次任务。
- 此外,还可以选择将维护任务定义为 独占。 独占任务独立于其他维护任务运行。 通常,独占任务是使用大量资源(例如大量 CPU 时间)或对数据库进行独占访问的任务。 系统在启动独占任务之前完成所有非独占维护任务。 因此,仅在必要时才应将任务声明为独占任务。
相比之下,AllowStartOnDemand 仅指示系统或用户可以随时启动任务。 这样,系统就可以在定期维护期间启动任务。 否则,必须设置任务的唯一触发器。