自 Windows 10 升级以来,任何尝试编辑先前存在的任务都会导致弹出错误窗口,指出:
任务 < taskname > 发生错误
报告了以下错误:任务 XML 包含格式不正确或超出范围的值。
我找到了一个解决方法。如果我转到常规->更改用户或组...并重新输入当前用户,编辑就会被接受。在 Windows 8 下创建的旧任务和新任务(成功创建后)的行为方式相同:任何编辑都必须在重新输入用户名后进行。
答案1
如果您收到此错误,则可能是您
([timeSpan]::maxvalue)
在某个命令中遇到了此错误。
例子:
New-ScheduledTaskTrigger -Once -At (Get-Date).Date -RepetitionInterval (New-TimeSpan -Minutes 35) -RepetitionDuration ([timeSpan]::maxvalue)
一种解决方法是将语句设置为遥远的未来某个特定的时间。
$TheDate= ([DateTime]::Now) $Duration = $TheDate.AddYears(25) -$TheDate
New-ScheduledTaskTrigger -Once -At (Get-Date).Date -RepetitionInterval (New-TimeSpan -Minutes 35) -RepetitionDuration $Duration
归功于博客网民
答案2
检查这 3 个位置以查找错误消息中名称的任务:
- 文件系统:
- C:\Windows\System32\任务
- 注册表:
- 计算机\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tasks
- 计算机\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tree
错误消息中出现的任何任务名称都将被删除。
备份密钥,以防万一……
答案3
另一个可能的原因是任务的 XML 包含MaintenanceSettings
元素。例如:
<Task …>
…
<Settings>
…
<MaintenanceSettings>
<Period>P1D</Period>
<Deadline>P7D</Deadline>
<Exclusive>false</Exclusive>
</MaintenanceSettings>
…
例如,内置的 Microsoft Defender 任务包含这些。
请注意,任务计划程序没有用户界面来编辑这些设置。根据文档,MaintenanceSettings
是在 Windows 8 中添加的,而大多数其他元素自 Windows Vista 以来就已存在。因此,我们可以推测 UI 是否未及时更新,或者他们故意决定不为此设置实现 UI。最近添加的另一个元素是WnfStateChangeTrigger
。任务计划程序在触发器选项卡中列出了它,但表示无法编辑它。
您可以将任务导出为 XML 文件,使用记事本进行编辑,然后再导入。在记事本中编辑时,您可以MaintenanceSettings
从 XML 中删除元素。然后重新导入后,任务将可使用任务计划程序 UI 进行编辑。或者,您可以在记事本中进行所有编辑并保留MaintenanceSettings
。
并且(根据我的测试)重新输入用户名并不能解决这个MaintenanceSettings
问题。