我正在尝试使用PowerShell创建(和替换)计划任务。我找到了相关PowerShell命令的文档,就我所知,我已经做得没错:
$action = New-ScheduledTaskAction -Execute "node" -Argument "C:/scripts/task.js"
$now = Get-Date
$interval = New-TimeSpan -Seconds 60
$forever = [System.TimeSpan]::MaxValue
$trigger = New-ScheduledTaskTrigger -Once -At $now -RepetitionInterval $interval -RepetitionDuration $forever
$settings = New-ScheduledTaskSettingsSet
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
Register-ScheduledTask -TaskName 'TEST' -InputObject $task
然而,运行此命令时,出现了一个神秘的错误:
Register-ScheduledTask : 任务 XML 包含格式不正确或超出范围的值。
这个错误信息没什么用,我该如何调试它呢?
- 哪个 XML?在哪个路径下?
- 哪个值?
- 哪个范围?
这个答案说现在不要使用 TimeSpan.MaxValue
,所以我改为使用100年:
$forever = $now.AddYears(100) - $now # [System.TimeSpan]::MaxValue doesn't work
然而,错误仍然存在。
我在谷歌上搜索并发现一个建议是查看“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree”,但是我的任务没有出现在其中。
该怎么办?