Я использовал командлеты запланированных задач Powershell для создания запланированных задач. на наших серверах.
Как выбрать вариант «Запускать» независимо от того, вошел ли пользователь в систему или нет, используя этот API?
Я создал объекты action
, trigger
, principal
и settings
и передал их Register-ScheduledTask
, как показано ниже:
$action = New-ScheduledTaskAction -Execute foo.exe -Argument "bar baz"
$trigger = New-ScheduledTaskTrigger -Once -At $startTime -RepetitionInterval (New-TimeSpan -Minutes 1) -RepetitionDuration ([Timespan]::MaxValue)
$principal = New-ScheduledTaskPrincipal -UserId "$($env:USERDOMAIN)\$($env:USERNAME)" -LogonType ServiceAccount
$settings = New-ScheduledTaskSettingsSet -MultipleInstances Parallel
Register-ScheduledTask -TaskName $taskName -TaskPath "\my\path" -Action $action -Trigger $trigger -Settings $settings -Principal $principal
Когда я создаю такую запланированную задачу, по умолчанию она имеет значение «Запускать, только когда пользователь вошел в систему».
Этот вопрос показывает, как это сделать с помощью COM-объектов, а этот с помощью schtasks.exe, но как это сделать с помощью командлетов *-ScheduledTask*
?