В связи с этим вопросом:
Windows Server в UTC, нужен планировщик задач для переключения задач на летнее время
и этот вопрос:
Есть ли способ выборочно включать и отключать определенные триггеры (не всю задачу) с помощью 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 () должен сохранить ваши изменения.