与这个问题有关:
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()方法应该保存您的更改。