使用powershell(或其他)在任务计划程序中的任务中的特定触发器上启用/禁用启用/禁用

与这个问题有关:

Windows服务器以UTC,需要任务计划程序与夏令时转移任务

和这个问题:

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

有没有办法有select地启用和禁用某些触发器(而不是整个任务)与PowerShell

我在我的UTC服务器上有两个“每日”触发器,一个计划在另一个小时后运行。 我只希望一个被启用,而且我想每年切换两次。

任务计划程序似乎没有触发器的唯一“名称”,它们只显示为“每日”

有很多方法与Task Scheduler进行交互。 例如,您可以使用Schedule.Service COM对象。

$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()方法应该保存您的更改。