Add-CMTaskSequenceStep
Adicione uma etapa ou grupo a uma sequência de tarefas.
Syntax
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
Use este cmdlet para adicionar um grupo ou etapa a uma sequência de tarefas existente. Para obter mais informações sobre etapas de sequências de tarefas, consulte Etapas da sequência de tarefas.
Ao adicionar etapas programaticamente a uma sequência de tarefas, é importante compreender a ordem de índice das etapas. Para ajudar a visualizar o índice, este artigo usa a seguinte sequência de tarefas de exemplo:
- step1
- step2
- step3
- step4
- group5
- step5.1
- step5.2
- step5.3
- group5.4
- step5.4.1
- step5.5
- step6
Quando você usa o editor de sequência de tarefas para adicionar uma etapa, a nova etapa é adicionada após a etapa selecionada no momento. Esse cmdlet funciona da mesma forma, ele adiciona a etapa após o índice especificado. Use o parâmetro InsertStepStartIndex para especificar o índice de etapa.
Esse cmdlet só pode adicionar etapas ao nível principal da sequência de tarefas, não em grupos. Para adicionar etapas em grupos, use Set-CMTaskSequenceGroup. Por exemplo, com a sequência de tarefas de exemplo, se você usar Add-CMTaskSequenceStep com o valor do parâmetro InsertStepStartIndex, o cmdlet adicionará a nova etapa após o group5 e antes da 5
etapa6. ****
Observação
Execute cmdlets do Configuration Manager na unidade de site do Configuration Manager, por PS XYZ:\>
exemplo. Para obter mais informações, consulte getting started.
Exemplos
Exemplo 1: Criar uma sequência de tarefas personalizada que executa dois scripts do PowerShell
Neste exemplo, os dois primeiros comandos usam o cmdlet New-CMTaskSequenceStepRunPowerShellScript para criar objetos de etapa para a etapa Executar Script do Powershell. O terceiro comando cria uma nova sequência de tarefas personalizada chamada Executar scripts. O quarto comando passa o novo objeto de sequência de tarefas pelo pipeline para Add-CMTaskSequenceStep, que adiciona as duas etapas.
$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 se parece com a seguinte lista:
- Executar script 1
- Executar script 2
As etapas são ordenadas dessa forma devido à forma como são ordenadas no parâmetro Step.
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 ele usa 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 se parece com a seguinte lista:
- Executar script 2
- Executar script 1
Por causa de como cada instância de Add-CMTaskSequenceStep é ordenada e nem usa o parâmetro InsertStepStartIndex, por padrão, eles usam índice 0
. Portanto, o cmdlet adiciona a segunda etapa antes da primeira etapa.
Exemplo 3: Adicionar uma etapa em um índice específico
Este exemplo usa primeiro o cmdlet New-CMTSStepSetVariable para criar um objeto step para a etapa Definir Variável de Sequência de Tarefas. Em seguida, ele adiciona esta etapa à sequência de tarefas chamada ts1 após a etapa no índice 2. Usando a sequência de tarefas de exemplo na Descrição, este comando adiciona newStep entre a etapa2 e a etapa3.
$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 uma nova etapa
Este exemplo copia uma sequência de tarefas existente e a renomeia. O próximo conjunto de etapas reconfigura o escopo de segurança. Em seguida, obtém a ID de um pacote e copia um objeto condition de outra etapa. No último grupo, ele cria uma nova etapa Executar Linha de Comando que usa o pacote e os objetos condition. Em seguida, adiciona a nova etapa à 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.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisableWildcardHandling
Este parâmetro trata caracteres curinga como valores literais de caracteres. Não é possível combiná-lo com ForceWildcardHandling.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceWildcardHandling
Esse parâmetro processa caracteres curinga e pode levar a um comportamento inesperado (não recomendado). Não é possível combiná-lo com DisableWildcardHandling.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifique um objeto de sequência de tarefas ao qual o cmdlet adiciona a etapa. Para obter esse objeto, use os cmdlets Get-CMTaskSequence, Copy-CMTaskSequenceou New-CMTaskSequence.
Type: | IResultObject |
Aliases: | TaskSequence |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InsertStepStartIndex
Especifique um valor inteiro para o índice de sequência de tarefas. O cmdlet adiciona a nova etapa após esse índice especificado. Por exemplo, usando a sequência de tarefas de exemplo na Descrição ,se você especificar um valor de , o cmdlet adiciona a nova etapa após a 4
etapa4.
Se você especificar um valor 0
de , o cmdlet adiciona a nova etapa na parte superior da sequência de tarefas. Esse comportamento é o padrão se você não especificar esse parâmetro. Por exemplo, o cmdlet adiciona a nova etapa antes da etapa1.
Não há valor máximo. Se você especificar um valor maior que o índice da última etapa, o cmdlet adiciona a nova etapa no final da sequência de tarefas. Por exemplo, se você especificar um valor 10
de , o cmdlet adiciona a nova etapa após a etapa6.
Type: | UInt32 |
Aliases: | InsertStepsStartIndex |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Step
Especifique um ou mais objetos de etapa para adicionar à sequência de tarefas. Para obter esse objeto, use um dos cmdlets **New-CMTSStep. * ** Por exemplo, Get-CMTSStepApplyDataImage.
Type: | IResultObject[] |
Aliases: | Steps |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TaskSequenceId
Especifique a ID de uma sequência de tarefas à qual o cmdlet adiciona a etapa. Essa ID é a ID do pacote de sequência de tarefas, por exemplo XYZ00861
.
Type: | String |
Aliases: | Id, TaskSequencePackageId |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TaskSequenceName
Especifique o nome de uma sequência de tarefas à qual o cmdlet adiciona a etapa.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostrar o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Microsoft.ConfigurationManagement.ManagementProvider.IResultObject
Saídas
System.Object
Observações
Embora não seja listado na seção links relacionados, você pode usar os cmdlets **Get-CMTSStep * _, _ New-CMTSStep * _, _ Remove-CMTSStep * _, e _ Set-CMTSStep. * ** Por exemplo:
- Get-CMTSStepApplyDataImage
- New-CMTSStepApplyDataImage
- Remove-CMTSStepApplyDataImage
- Set-CMTSStepApplyDataImage
Há um conjunto desses cmdlets para cada etapa de sequência de tarefas.