我正在尝试将 Powershell 脚本添加到任务计划程序中以便定期运行。
Import-Module ScheduledTasks
$scriptFilePath = "C:\hello-there.ps1"
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File $scriptFilePath -Noninteractive"
$repetitionDuration = New-TimeSpan -End (Get-Date -Year 2030 -Month 4)
$repetitionInterval = New-TimeSpan -Minute 15
$trigger = New-ScheduledTaskTrigger -RepetitionDuration $repetitionDuration -RepetitionInterval $repetitionInterval
Register-ScheduledTask -TaskName "custom-task" -Description "Does something important" -Trigger $trigger -Action $action
它执行到New-ScheduledTaskTrigger
行,然后要求我输入用户输入?“提供以下参数的值”
我做错了什么?
答案1
查看 New-ScheduledTaskTrigger 的帮助(对于包含您指定的 2 个 -Repetition* 参数的 ParameterSet),您可以看到 -At 不在括号中,因此它是强制性的。
New-ScheduledTaskTrigger
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Once]
[-RepetitionDuration <TimeSpan>]
[-RepetitionInterval <TimeSpan>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
答案2
事实证明你需要指定-Once -At (Get-Date)
才能使其工作(我找到了一个线索在这里的答案中)