我有许多每天运行的计划任务。根据他们的计划时间,他们应该在早上 Windows 启动第一件事时运行。但是,这些任务要等到 Windows 启动后 10 分钟才会运行。一个示例是计划在上午 12:00 运行的任务。如果我在晚上 11:30 关闭 PC,则该任务应在 Windows 在第二天早上 8:00 完成启动后立即运行。
我所有的任务最终都运行了,但有些东西导致它们延迟了多达 10 分钟。我希望它们在 Windows 启动后立即运行。
根据评论,发布任务的配置 XML:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2016-12-04T15:46:45.9954241</Date>
<Author>redacted-PC\redacted</Author>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<Repetition>
<Interval>PT12H</Interval>
<Duration>P1D</Duration>
<StopAtDurationEnd>false</StopAtDurationEnd>
</Repetition>
<StartBoundary>2016-12-04T00:00:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>redacted-PC\redacted</UserId>
<LogonType>Password</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>true</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>true</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>P3D</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>"C:\Program Files\redacted\redacted.exe"</Command>
<WorkingDirectory>C:\Program Files\redacted</WorkingDirectory>
</Exec>
</Actions>
</Task>
在 Windows 中配置计划任务时,“设置”之一在任务计划程序 UI 中标记为:
将任务的配置导出到 XML 时,同样的设置定义为:
此属性的 Microsoft 文档说:
要重新定义这 10 分钟的延迟时间, 可以修改
MissedTasksStartupDelay
键下调用的 DWORD 注册表值:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Configuration
默认值为600
秒(10 分钟),但可以更改。下次任务调度程序服务启动时(下次启动时),任何定义了此选项的任务都将在更新值之后启动。