Add-CMTaskSequenceStep
Adicione um passo ou grupo a uma sequência de tarefas.
Sintaxe
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>]
Description
Utilize este cmdlet para adicionar um grupo ou passo a uma sequência de tarefas existente. Para obter mais informações sobre os passos de sequências de tarefas, veja Passos de sequência de tarefas.
Ao adicionar programaticamente passos a uma sequência de tarefas, é importante compreender a ordem de índice dos passos. Para ajudar a visualizar o índice, este artigo utiliza a seguinte sequência de tarefas de exemplo:
- passo 1
- passo 2
- passo 3
- passo 4
- grupo5
- passo5.1
- passo5.2
- passo5.3
- group5.4
- step5.4.1
- passo5.5
- passo6
Quando utiliza o editor de sequência de tarefas para adicionar um passo, o novo passo é adicionado após o passo atualmente selecionado. Este cmdlet funciona da mesma forma, adiciona o passo após o índice especificado. Utilize o parâmetro InsertStepStartIndex para especificar o índice de passos.
Este cmdlet só pode adicionar passos ao nível principal da sequência de tarefas, não em grupos. Para adicionar passos em grupos, utilize Set-CMTaskSequenceGroup. Por exemplo, com a sequência de tarefas de exemplo, se utilizar Add-CMTaskSequenceStep com o valor 5
do parâmetro InsertStepStartIndex, o cmdlet adiciona o novo passo após o grupo5 e antes do passo6.
Observação
Execute cmdlets do Configuration Manager a partir da unidade do site do Configuration Manager, por exemplo PS XYZ:\>
. Para obter mais informações, veja Introdução.
Exemplos
Exemplo 1: Criar uma sequência de tarefas personalizada que executa dois scripts do PowerShell
Neste exemplo, os dois primeiros comandos utilizam o cmdlet New-CMTaskSequenceStepRunPowerShellScript para criar objetos de passo para o passo Executar Script do PowerShell . O terceiro comando cria uma nova sequência de tarefas personalizada denominada Executar scripts. O quarto comando transmite o novo objeto de sequência de tarefas através do pipeline para Add-CMTaskSequenceStep, que adiciona os dois passos.
$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)
A sequência de tarefas resultante assemelha-se à seguinte lista:
- Executar script 1
- Executar script 2
Os passos são ordenados desta forma devido à forma como são ordenados no parâmetro Passo .
Exemplo 2: criar uma sequência de tarefas personalizada que executa dois scripts do PowerShell com uma ordem diferente
Este exemplo é semelhante ao Exemplo 1, exceto que utiliza duas instâncias do cmdlet 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
A sequência de tarefas resultante assemelha-se à seguinte lista:
- Executar script 2
- Executar script 1
Devido à forma como cada instância de Add-CMTaskSequenceStep é ordenada e não utiliza o parâmetro InsertStepStartIndex , por predefinição, utilizam o índice 0
. Assim, o cmdlet adiciona o segundo passo antes do primeiro passo.
Exemplo 3: adicionar um passo a um índice específico
Este exemplo utiliza primeiro o cmdlet New-CMTSStepSetVariable para criar um objeto de passo para o passo Definir Variável de Sequência de Tarefas . Em seguida, adiciona este passo à sequência de tarefas com o nome ts1 após o passo no índice 2. Com a sequência de tarefas de exemplo na Descrição, este comando adiciona newStep entre o passo2 e o passo3.
$step = New-CMTSStepSetVariable -name "newStep" -TaskSequenceVariable "testVar" -TaskSequenceVariableValue "testValue"
Add-CMTaskSequenceStep -TaskSequenceName "ts1" -Step $step -InsertStepStartIndex 2
Exemplo 4: Copiar uma sequência de tarefas e adicionar um novo passo
Este exemplo copia uma sequência de tarefas existente e, em seguida, muda o nome da mesma. O próximo conjunto de passos reconfigura o âmbito de segurança. Em seguida, obtém o ID de um pacote e copia um objeto de condição de outro passo. No último grupo, cria um novo passo Executar Linha de Comandos que utiliza o pacote e os objetos de condição. Em seguida, adiciona o novo passo à nova sequência de tarefas no índice 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
Parâmetros
-Confirm
Solicita a confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-DisableWildcardHandling
Este parâmetro trata os carateres universais como valores de carateres literais. Não pode combiná-lo com ForceWildcardHandling.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ForceWildcardHandling
Este parâmetro processa carateres universais e pode levar a um comportamento inesperado (não recomendado). Não pode combiná-lo com DisableWildcardHandling.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InputObject
Especifique um objeto de sequência de tarefas ao qual o cmdlet adiciona o passo. Para obter este objeto, utilize os cmdlets Get-CMTaskSequence, Copy-CMTaskSequence ou New-CMTaskSequence .
Tipo: | IResultObject |
Aliases: | TaskSequence |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-InsertStepStartIndex
Especifique um valor inteiro para o índice de sequência de tarefas. O cmdlet adiciona o novo passo após este índice especificado. Por exemplo, ao utilizar a sequência de tarefas de exemplo na Descrição, se especificar um valor de 4
, o cmdlet adiciona o novo passo após o passo4.
Se especificar um valor de 0
, o cmdlet adiciona o novo passo na parte superior da sequência de tarefas. Este comportamento é a predefinição se não especificar este parâmetro. Por exemplo, o cmdlet adiciona o novo passo antesdo passo 1.
Não existe nenhum valor máximo. Se especificar um valor superior ao índice do último passo, o cmdlet adiciona o novo passo no final da sequência de tarefas. Por exemplo, se especificar um valor de 10
, o cmdlet adiciona o novo passo após o passo6.
Tipo: | UInt32 |
Aliases: | InsertStepsStartIndex |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Step
Especifique um ou mais objetos de passo a adicionar à sequência de tarefas. Para obter este objeto, utilize um dos cmdlets New-CMTSStep* . Por exemplo, Get-CMTSStepApplyDataImage.
Tipo: | IResultObject[] |
Aliases: | Steps |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-TaskSequenceId
Especifique o ID de uma sequência de tarefas à qual o cmdlet adiciona o passo. Este ID é o ID do pacote de sequência de tarefas, por exemplo XYZ00861
.
Tipo: | String |
Aliases: | Id, TaskSequencePackageId |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-TaskSequenceName
Especifique o nome de uma sequência de tarefas à qual o cmdlet adiciona o passo.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WhatIf
Mostrar o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Microsoft.ConfigurationManagement.ManagementProvider.IResultObject
Saídas
System.Object
Observações
Embora não esteja listado na secção de ligações relacionadas, pode utilizar os cmdlets Get-CMTSStep*, New-CMTSStep*, Remove-CMTSStep*e Set-CMTSStep* . Por exemplo:
- Get-CMTSStepApplyDataImage
- New-CMTSStepApplyDataImage
- Remove-CMTSStepApplyDataImage
- Set-CMTSStepApplyDataImage
Existe um conjunto destes cmdlets para cada passo de sequência de tarefas.