Add-CMTaskSequenceStep

Aggiungere un passaggio o un gruppo a una sequenza di attività.

Sintassi

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>]

Descrizione

Utilizzare questo cmdlet per aggiungere un gruppo o un passaggio a una sequenza di attività esistente. Per ulteriori informazioni sui passaggi delle sequenze di attività, vedere Passaggi della sequenza di attività.

Quando si aggiungono passaggi a una sequenza di attività a livello di programmazione, è importante comprendere l'ordine di indice dei passaggi. Per visualizzare l'indice, in questo articolo viene utilizzata la sequenza di attività di esempio seguente:

  • passaggio 1
  • passaggio 2
  • passaggio 3
  • passaggio 4
  • group5
    • step5.1
    • passaggio 5.2
    • passaggio5.3
    • group5.4
      • step5.4.1
    • step5.5
  • passaggio 6

Quando usi l'editor della sequenza di attività per aggiungere un passaggio, il nuovo passaggio viene aggiunto dopo il passaggio attualmente selezionato. Questo cmdlet funziona in modo analogo, aggiunge il passaggio dopo l'indice specificato. Utilizzare il parametro InsertStepStartIndex per specificare l'indice del passaggio.

Questo cmdlet può solo aggiungere passaggi al livello principale della sequenza di attività, non in gruppi. Per aggiungere passaggi nei gruppi, utilizzare Set-CMTaskSequenceGroup. Ad esempio, con la sequenza di attività di esempio, se si utilizza Add-CMTaskSequenceStep con il valore del parametro InsertStepStartIndex , il cmdlet aggiunge il nuovo passaggio dopo 5 group5 e before step6.

Nota

Eseguire i cmdlet di Configuration Manager dall'unità del sito di Configuration Manager, ad esempio PS XYZ:\> . Per ulteriori informazioni, vedere Introduzione.

Esempio

Esempio 1: Creare una sequenza di attività personalizzata che esegue due script di PowerShell

In questo esempio, i primi due comandi utilizzano il cmdlet New-CMTaskSequenceStepRunPowerShellScript per creare oggetti passaggio per il passaggio Esegui script di Powershell. Il terzo comando crea una nuova sequenza di attività personalizzata denominata Esegui script. Il quarto comando passa il nuovo oggetto sequenza di attività attraverso la pipeline a Add-CMTaskSequenceStep, che aggiunge i due passaggi.

$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)

La sequenza di attività risultante è simile all'elenco seguente:

  • Eseguire lo script 1
  • Eseguire lo script 2

I passaggi vengono ordinati in questo modo a causa di come sono ordinati nel parametro Step.

Esempio 2: Creare una sequenza di attività personalizzata che esegue due script di PowerShell con un ordine diverso

Questo esempio è simile all'esempio 1, ad eccezione del fatto che vengono utilizzate due istanze del 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

La sequenza di attività risultante è simile all'elenco seguente:

  • Eseguire lo script 2
  • Eseguire lo script 1

A causa del modo in cui ogni istanza di Add-CMTaskSequenceStep viene ordinata e non utilizza il parametro InsertStepStartIndex, per impostazione predefinita utilizzano index 0 . Il cmdlet aggiunge quindi il secondo passaggio prima del primo passaggio.

Esempio 3: Aggiungere un passaggio in corrispondenza di un indice specifico

In questo esempio viene innanzitutto utilizzato il cmdlet New-CMTSStepSetVariable per creare un oggetto passaggio per il passaggio Imposta variabile sequenza attività. Viene quindi aggiunto questo passaggio alla sequenza di attività denominata ts1 dopo il passaggio in corrispondenza dell'indice 2. Utilizzando la sequenza di attività di esempio nella descrizione, questo comando aggiunge newStep tra i passaggi 2 e step3.

$step = New-CMTSStepSetVariable -name "newStep" -TaskSequenceVariable "testVar" -TaskSequenceVariableValue "testValue"
Add-CMTaskSequenceStep -TaskSequenceName "ts1" -Step $step -InsertStepStartIndex 2

Esempio 4: Copiare una sequenza di attività e aggiungere un nuovo passaggio

In questo esempio viene copiata una sequenza di attività esistente e quindi rinominata. Il set di passaggi successivo riconfigura l'ambito di sicurezza. Ottiene quindi l'ID di un pacchetto e copia un oggetto condizione da un altro passaggio. Nell'ultimo gruppo crea un nuovo passaggio Esegui riga di comando che usa gli oggetti pacchetto e condizione. Viene quindi aggiunto il nuovo passaggio alla nuova sequenza di attività in corrispondenza dell'indice 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

Parametri

-Confirm

Richiede la conferma prima di eseguire il cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-DisableWildcardHandling

Questo parametro considera i caratteri jolly come valori letterali. Non è possibile combinarlo con ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

Questo parametro elabora i caratteri jolly e può causare un comportamento imprevisto (scelta non consigliata). Non è possibile combinarlo con DisableWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Specificare un oggetto sequenza di attività a cui il cmdlet aggiunge il passaggio. Per ottenere questo oggetto, utilizzare i cmdlet Get-CMTaskSequence, Copy-CMTaskSequenceo New-CMTaskSequence.

Type:IResultObject
Aliases:TaskSequence
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-InsertStepStartIndex

Specificare un valore intero per l'indice della sequenza di attività. Il cmdlet aggiunge il nuovo passaggio dopo l'indice specificato. Ad esempio, utilizzando la sequenza di attività di esempio nella descrizione ,se si specifica il valore di , il cmdlet aggiunge il nuovo passaggio dopo 4 il passaggio 4.

Se si specifica un valore 0 di , il cmdlet aggiunge il nuovo passaggio all'inizio della sequenza di attività. Questo comportamento è il valore predefinito se non si specifica questo parametro. Ad esempio, il cmdlet aggiunge il nuovo passaggio prima del passaggio 1.

Non esiste alcun valore massimo. Se si specifica un valore maggiore dell'indice dell'ultimo passaggio, il cmdlet aggiunge il nuovo passaggio alla fine della sequenza di attività. Se ad esempio si specifica un valore di 10 , il cmdlet aggiunge il nuovo passaggio dopo il passaggio 6.

Type:UInt32
Aliases:InsertStepsStartIndex
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Step

Specificare uno o più oggetti passaggio da aggiungere alla sequenza di attività. Per ottenere questo oggetto, utilizzare uno dei cmdlet **New-CMTSStep. * ** Ad esempio, Get-CMTSStepApplyDataImage.

Type:IResultObject[]
Aliases:Steps
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-TaskSequenceId

Specificare l'ID di una sequenza di attività a cui il cmdlet aggiunge il passaggio. Questo ID è l'ID del pacchetto della sequenza di attività, ad esempio XYZ00861 .

Type:String
Aliases:Id, TaskSequencePackageId
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-TaskSequenceName

Specificare il nome di una sequenza di attività a cui il cmdlet aggiunge il passaggio.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mostra cosa accade se viene eseguito il cmdlet. Il cmdlet non viene eseguito.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Input

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Output

System.Object

Note

Sebbene non sia elencato nella sezione relativa ai collegamenti, è possibile utilizzare i cmdlet **Get-CMTSStep * _, _ New-CMTSStep * _, _ Remove-CMTSStep * _, e _ Set-CMTSStep. * ** Ad esempio:

Esiste un set di questi cmdlet per ogni passaggio della sequenza di attività.