PowerShell New-ScheduledTaskTrigger 需要用户输入吗?

PowerShell New-ScheduledTaskTrigger 需要用户输入吗?

我正在尝试将 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)才能使其工作(我找到了一个线索在这里的答案中

相关内容