Я пытаюсь добавить сценарий 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
строка, а затем запрашивает ввод пользователя? «Задайте значения для следующих параметров»
Что я делаю не так?
Посмотрев справку для New-ScheduledTaskTrigger (для ParameterSet, который включает 2 параметра -Repetition *, которые вы указали), вы увидите, что -At не заключен в скобки, поэтому он является обязательным.
New-ScheduledTaskTrigger
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Once]
[-RepetitionDuration <TimeSpan>]
[-RepetitionInterval <TimeSpan>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Получается нужно указать -Once -At (Get-Date)
чтобы заставить его работать (я нашел подсказку в ответ здесь)