У вас есть сценарий powershell, который создаст запланированную задачу для развертывания с помощью Octopus на сервере Windows 2012.Добавление второго триггера в расписание задач
Function Create-ScheduledTask($TaskName,$RunAsUser,$TaskRun,$Schedule,$StartTime,$StartDate,$Arguments,$RunWithElevatedPermissions,$Days,$Password){
# set up
$Command = "schtasks.exe /create /ru `"$RunAsUser`" /tn `"$TaskName`" /tr `"'$($TaskRun)' $Arguments`" $cmdSchedule $cmdDays $cmdStartDate $cmdStartTime /F $cmdInterval $cmdDuration $cmdRunLevel $cmdPassword"
echo $Command
Invoke-Expression $Command
}
Попытка добавить еще один триггер как часть одного и того же TASKNAME, в командной строке, не будет работать с schtasks.exe
, который, казалось бы, противоречит GUI, где это можно сделать.
Это функция, которая была использована для создания триггера события, в идеале, для присоединения к той же запланированной задаче.
Function Create-ScheduledTaskEvent($TaskName,$RunAsUser,$TaskRun,$Arguments,$RunWithElevatedPermissions,$Password, $xPath, $channelName){
$cmdRunLevel = if(-Not $RunWithElevatedPermissions){""}else{"/rl HIGHEST"}
$cmdPassword = if([string]::IsNullOrEmpty($Password)){""}else{"/rp `"$Password`""}
$cmdXPath = if([string]::IsNullOrEmpty($xPath)){""}else{"/sc ONEVENT /MO `"$xPath`" "}
$cmdRunLevel = if(-Not $RunWithElevatedPermissions){""}else{"/rl HIGHEST"}
$Command = "schtasks.exe /create $cmdRunLevel /ru `"$RunAsUser`" $cmdXPath /tn `"$TaskName`" /tr `"'$($TaskRun)' $Arguments`" /ec `"$channelName`" "
echo $Command
Invoke-Expression $Command
}
Проблема есть, замена выключателя /create
с /change
только заканчивается затирания предыдущей запланированной задачи в триггер/действие.
Любая идея, как это можно сделать с помощью schtasks.exe
в командной строке, чтобы объединить триггеры в один.
Это может быть сделано путем создания отдельного расписания задач с различным TASKNAME, он не идеален, хотя и не вывозит из задачи, как XML, а затем импортировать обратно.
ли упоминать, что экспорт/Импорт XML не идеален. Спасибо хоть. – tombags
Да, я сеял. Но это единственное относительно простое решение для решения, которое я нашел. Вы можете расширить его и динамически изменить XML, если вам нужно. Как @Matt спрашивает, почему вы не хотите использовать метод XML? – autosvet