Add-CMTaskSequenceStep
Добавьте шаг или группу в последовательность задач.
Синтаксис
Add-CMTaskSequenceStep
[-InsertStepStartIndex <UInt32>]
-Step <IResultObject[]>
-InputObject <IResultObject>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-CMTaskSequenceStep
[-InsertStepStartIndex <UInt32>]
-Step <IResultObject[]>
-TaskSequenceId <String>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-CMTaskSequenceStep
[-InsertStepStartIndex <UInt32>]
-Step <IResultObject[]>
-TaskSequenceName <String>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Используйте этот командлет, чтобы добавить группу или шаг в существующую последовательность задач. Дополнительные сведения о шагах последовательностей задач см. в разделе Шаги последовательности задач.
При программном добавлении шагов в последовательность задач важно понимать порядок индексов шагов. Чтобы визуализировать индекс, в этой статье используется следующий пример последовательности задач:
- шаг 1
- шаг 2
- шаг 3
- шаг 4
- group5
- шаг 5.1
- шаг 5.2
- шаг 5.3
- group5.4
- шаг 5.4.1
- шаг 5.5
- шаг 6
При использовании редактора последовательности задач для добавления шага новый шаг добавляется после выбранного шага. Этот командлет работает аналогично, он добавляет шаг после указанного индекса. Для указания индекса шага используется параметр InsertStepStartIndex .
Этот командлет может добавлять шаги только на основной уровень последовательности задач, но не в группах. Чтобы добавить шаги в группах, используйте команду Set-CMTaskSequenceGroup. Например, в примере последовательности задач, если вы используете Add-CMTaskSequenceStep со значением 5
параметра InsertStepStartIndex, командлет добавляет новый шаг после group5 и перед шагом 6.
Примечание.
Запустите командлеты Configuration Manager с диска сайта Configuration Manager, например PS XYZ:\>
. Дополнительные сведения см. в статье Начало работы.
Примеры
Пример 1. Создание пользовательской последовательности задач, которая выполняет два сценария PowerShell
В этом примере первые две команды используют командлет New-CMTaskSequenceSequenceStepRunPowerShellScript для создания объектов шагов для шага Запуск скрипта PowerShell . Третья команда создает новую пользовательскую последовательность задач с именем Run scripts. Четвертая команда передает новый объект последовательности задач через конвейер в Add-CMTaskSequenceStep, который добавляет два шага.
$step1 = New-CMTaskSequenceStepRunPowerShellScript -Name "Run script 1" -PackageID $PackageId -ScriptName "script1.ps1" -ExecutionPolicy Bypass
$step2 = New-CMTaskSequenceStepRunPowerShellScript -Name "Run script 2" -PackageID $PackageId -ScriptName "script2.ps1" -ExecutionPolicy Bypass
$ts = New-CMTaskSequence -Name "Run scripts" -CustomTaskSequence
$ts | Add-CMTaskSequenceStep -Step ($step1, $step2)
Результирующая последовательность задач выглядит следующим образом:
- Запуск скрипта 1
- Запуск скрипта 2
Шаги упорядочены таким образом из-за того, как они упорядочены в параметре Step .
Пример 2. Создание настраиваемой последовательности задач, которая выполняет два скрипта PowerShell с разным порядком
Этот пример аналогичен примеру 1, за исключением двух экземпляров командлета Add-CMTaskSequenceStep .
$step1 = New-CMTaskSequenceStepRunPowerShellScript -Name "Run script 1" -PackageID $PackageId -ScriptName "script1.ps1" -ExecutionPolicy Bypass
$step2 = New-CMTaskSequenceStepRunPowerShellScript -Name "Run script 2" -PackageID $PackageId -ScriptName "script2.ps1" -ExecutionPolicy Bypass
$ts = New-CMTaskSequence -Name "Run scripts" -CustomTaskSequence
$ts | Add-CMTaskSequenceStep -Step $step1
$ts | Add-CMTaskSequenceStep -Step $step2
Результирующая последовательность задач выглядит следующим образом:
- Запуск скрипта 2
- Запуск скрипта 1
Из-за упорядочения каждого экземпляра Add-CMTaskSequenceStepStep и не используется параметр InsertStepStartIndex , по умолчанию используется индекс 0
. Поэтому командлет добавляет второй шаг перед первым.
Пример 3. Добавление шага по определенному индексу
В этом примере сначала используется командлет New-CMTSStepSetVariable для создания объекта шага для шага Задание переменной последовательности задач . Затем он добавляет этот шаг в последовательность задач с именем ts1 после шага с индексом 2. Используя пример последовательности задач в описании, эта команда добавляет newStep между шагами 2 и шагами 3.
$step = New-CMTSStepSetVariable -name "newStep" -TaskSequenceVariable "testVar" -TaskSequenceVariableValue "testValue"
Add-CMTaskSequenceStep -TaskSequenceName "ts1" -Step $step -InsertStepStartIndex 2
Пример 4. Копирование последовательности задач и добавление нового шага
В этом примере копируется существующая последовательность задач, а затем она переименовывается. Следующий набор шагов перенастраивает область безопасности. Затем он получает идентификатор пакета и копирует объект условия из другого шага. В последней группе создается новый шаг выполнить командную строку , в котором используются объекты пакета и условия. Затем он добавляет новый шаг в новую последовательность задач по индексу 11.
$ts = Copy-CMTaskSequence -Name "Deploy Windows 10 (v1)"
$ts | Set-CMTaskSequence -NewName "Deploy Windows 10 (v2)"
$ts | Add-CMObjectSecurityScope -Name "Contoso main" | Out-Null
$ts | Remove-CMObjectSecurityScope -Name "Default" -Force |Out-Null
$pkgId = (Get-CMPackage -Name "Widget tool" -Fast).PackageID
$condition = ($ts | Get-CMTaskSequenceStep -StepName "Restart in Windows PE").Condition.Operands
$step = New-CMTaskSequenceStepRunCommandLine -CommandLine "widget.exe /q" -PackageId $pkgId -Name "Install Widget in Windows PE" -Condition $condition
$ts | Add-CMTaskSequenceStep -Step $step -InsertStepStartIndex 11
Параметры
-Confirm
Перед запуском командлет запросит подтверждение.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DisableWildcardHandling
Этот параметр обрабатывает подстановочные знаки как литеральные символы. Вы не можете объединить его с ForceWildcardHandling.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ForceWildcardHandling
Этот параметр обрабатывает подстановочные знаки и может привести к непредвиденному поведению (не рекомендуется). Его нельзя объединить с DisableWildcardHandling.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-InputObject
Укажите объект последовательности задач, в который командлет добавляет шаг. Чтобы получить этот объект, используйте командлеты Get-CMTaskSequence, Copy-CMTaskSequence или New-CMTaskSequence .
Тип: | IResultObject |
Aliases: | TaskSequence |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-InsertStepStartIndex
Укажите целочисленное значение для индекса последовательности задач. Командлет добавляет новый шаг после указанного индекса. Например, используя пример последовательности задач в описании, если указать значение 4
, командлет добавляет новый шаг после шага 4.
Если указать значение 0
, командлет добавит новый шаг в верхней части последовательности задач. Если этот параметр не указан, это поведение будет использоваться по умолчанию. Например, командлет добавляет новый шаг передшагом 1.
Максимальное значение отсутствует. Если указать значение, превышающее индекс последнего шага, командлет добавляет новый шаг в конце последовательности задач. Например, если указать значение 10
, командлет добавит новый шаг после шага 6.
Тип: | UInt32 |
Aliases: | InsertStepsStartIndex |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Step
Укажите один или несколько объектов шагов для добавления в последовательность задач. Чтобы получить этот объект, используйте один из командлетов New-CMTSStep* . Например, Get-CMTSStepApplyDataImage.
Тип: | IResultObject[] |
Aliases: | Steps |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TaskSequenceId
Укажите идентификатор последовательности задач, в которую командлет добавляет шаг. Этот идентификатор является идентификатором пакета последовательности задач, например XYZ00861
.
Тип: | String |
Aliases: | Id, TaskSequencePackageId |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TaskSequenceName
Укажите имя последовательности задач, в которую командлет добавляет шаг.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске этого командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Microsoft.ConfigurationManagement.ManagementProvider.IResultObject
Выходные данные
System.Object
Примечания
Хотя они не указаны в разделе связанных ссылок, можно использовать командлеты Get-CMTSStep*, New-CMTSStep*, Remove-CMTSStep*и Set-CMTSStep* . Например:
- Get-CMTSStepApplyDataImage
- New-CMTSStepApplyDataImage
- Remove-CMTSStepApplyDataImage
- Set-CMTSStepApplyDataImage
Существует набор этих командлетов для каждого шага последовательности задач.