Задачи могут быть на удивление сложными. Когда я впервые прочитал ваш вопрос, мне показалось, что вы хотели скопировать триггер из одной задачи в несколько других. Это грубо, но вы можете сделать что-то вроде этого:
$Trigger = (Get-ScheduledTask -TaskName "NameOfTheTemplatTask").Triggers[0]
Set-ScheduledTask -TaskName "NameOfDestinationTask" -Trigger $Trigger
Примечание: вам придется обновить имена задач.
Учитывая ваши комментарии к Ответу Alex_P Я лучше понимаю. Вам просто нужно создать триггер, сохранить его в переменной, а затем указать эту переменную в качестве аргумента параметра -Triggers в командлете New-ScheduledTask.
$NewAction = New-ScheduledTaskAction -Execute 'C:\windows\system32\notepad.exe'
$NewTrigger = New-ScheduledTaskTrigger -AtLogOn
$NewSchedTAsk = New-ScheduledTask -Trigger $NewTrigger -Action $NewAction
Register-ScheduledTask -TaskName TestTask -TaskPath "\" -Action $NewAction -Trigger $NewTrigger
Очевидно, это всего лишь пример, и вы потребуется обновить информацию для вашей среды и целей.
Примечание: не забудьте Register-ScheduledTask
Вы можете обернуть это в ForEach l oop чтобы получить столько задач, сколько вы хотите ...
$NewAction = New-ScheduledTaskAction -Execute 'C:\windows\system32\notepad.exe'
$NewTrigger = New-ScheduledTaskTrigger -AtLogOn
$Tasks = @('Task_1', 'Task_2', 'Task_3')
ForEach($Task in $Tasks)
{
$NewSchedTAsk = New-ScheduledTask -Trigger $NewTrigger -Action $NewAction
Register-ScheduledTask -TaskName $Task -TaskPath "\" -Action $NewAction -Trigger $NewTrigger
}
Опять же, это всего лишь примеры, чтобы дать вам дорожную карту для решения этих проблем в вашей собственной среде.
Вам также следует ознакомьтесь с MS Docs по модулю scheduleTask, в котором размещены обсуждаемые командлеты. Вы найдете похожие примеры, более проверенные, чем то, что я сколотил на ходу.