Назад | Перейти на главную страницу

Включение / отключение включения / выключения определенных триггеров в задаче в планировщике задач с помощью powershell (или чего-то еще)

В связи с этим вопросом:

Windows Server в UTC, нужен планировщик задач для переключения задач на летнее время

и этот вопрос:

https://stackoverflow.com/questions/11458029/enables-dispting-tasks-in-task-scheduler-using-a-powershell-script

Есть ли способ выборочно включать и отключать определенные триггеры (не всю задачу) с помощью PowerShell?

У меня есть два триггера «Ежедневно» для моей задачи на моем сервере UTC, один из которых должен запускаться через час после другого. Я хочу, чтобы был включен только один, и я хочу переключаться между ними дважды в год.

Планировщик заданий не имеет уникального «имени» для триггеров, они просто отображаются как «Ежедневно».

Есть много способов взаимодействия с планировщиком заданий. Например, вы можете использовать COM-объект Schedule.Service.

$TaskScheduler = New-Object -COMObject Schedule.Service
$TaskScheduler.Connect()
$TaskFolder = $TaskScheduler.GetFolder("\") # If your task is in the root "folder"
$Task = $TaskFolder.GetTask("The Name Of Your Task")
$Triggers = $Task.Definition.Triggers
$FirstTrigger = $Triggers.Item(1)

Каждый из этих триггерных объектов имеет свойство Enabled. Я думаю, что индексы массива здесь начинаются с 1, что странно, но неважно.

Изменить: И да, метод RegisterTaskDefinition () должен сохранить ваши изменения.