Вы можете сделать это следующим образом (дважды обновив задачу):
# Create the trigger class for $T2
$StateChangeTrigger = Get-CimClass `
-Namespace Root/Microsoft/Windows/TaskScheduler `
-ClassName MSFT_TaskSessionStateChangeTrigger
# Define triggers (the type)
$T1 = New-ScheduledTaskTrigger -AtLogOn
$T2 = New-CimInstance `
-CimClass $StateChangeTrigger `
-Property @{StateChange = 8} `
-ClientOnly
# Update the task; Get its new settings
Set-ScheduledTask 'Task' -Trigger $T1,$T2
$Task = Get-ScheduledTask -TaskName 'Task'
# Set triggers options
$Task.Triggers[0].Repetition.Interval = 'PT3M'
$Task.Triggers[1].Repetition.Interval = 'PT10M'
# Final task update
$Task | Set-ScheduledTask
Здесь также есть хороший пример от @Jarrad о том, как изменить триггеры для вашего ситуация, но с использованием подхода COM.
# ОБНОВЛЕНИЕ
Можно сделать вышеупомянутое, не изменяя задачу дважды, создав соответствующий экземпляр CIM для шаблона повторения:
# Create the trigger class for $T2
$StateChangeTrigger = Get-CimClass `
-Namespace Root/Microsoft/Windows/TaskScheduler `
-ClassName MSFT_TaskSessionStateChangeTrigger
# Create the repetition pattern class
$RepetitionPattern = Get-CimClass `
-Namespace Root/Microsoft/Windows/TaskScheduler `
-ClassName MSFT_TaskRepetitionPattern
# Define a new repetition pattern
$R = New-CimInstance `
-CimClass $RepetitionPattern `
-Property @{Interval = 'PT3M'} `
-ClientOnly
# Define triggers
$T1 = New-ScheduledTaskTrigger -AtLogOn
$T1.Repetition = $R
$T2 = New-CimInstance `
-CimClass $StateChangeTrigger `
-Property @{StateChange = 8;
Repetition = $R} `
-ClientOnly
$T2.Repetition.Interval = 'PT10M'
# Update the task and done
Set-ScheduledTask 'Task' -Trigger $T1,$T2
Соответствующие ссылки: