Condividi tramite


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

Usare questo cmdlet per aggiungere un gruppo o un passaggio a una sequenza di attività esistente. Per altre 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 codice, è importante comprendere l'ordine di indice dei passaggi. Per visualizzare l'indice, questo articolo usa la sequenza di attività di esempio seguente:

  • Passaggio 1
  • Passaggio 2
  • Passaggio 3
  • passaggio 4
  • gruppo5
    • Passaggio 5.1
    • Passaggio 5.2
    • Passaggio 5.3
    • group5.4
      • Passaggio 5.4.1
    • Passaggio 5.5
  • Passaggio 6

Quando si usa 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 e aggiunge il passaggio dopo l'indice specificato. Usare il parametro InsertStepStartIndex per specificare l'indice del passaggio.

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

Nota

Eseguire i cmdlet di Configuration Manager dall'unità del sito di Configuration Manager, ad esempio PS XYZ:\>. Per altre 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 usano il cmdlet New-CMTaskSequenceStepRunPowerShellScript per creare oggetti passaggio per il passaggio Esegui script 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 del modo in cui vengono 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, ma usa 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 usa il parametro InsertStepStartIndex , per impostazione predefinita usa l'indice 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 usato il cmdlet New-CMTSStepSetVariable per creare un oggetto passaggio per il passaggio Imposta variabile della sequenza di attività . Aggiunge quindi questo passaggio alla sequenza di attività denominata ts1 dopo il passaggio in corrispondenza dell'indice 2. Usando la sequenza di attività di esempio nella descrizione, questo comando aggiunge newStep tra il passaggio 2 e il passaggio 3.

$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 viene rinominata. Il set di passaggi successivo riconfigura l'ambito di sicurezza. Ottiene quindi l'ID per un pacchetto e copia un oggetto condizione da un altro passaggio. Nell'ultimo gruppo viene creato un nuovo passaggio Esegui riga di comando che usa gli oggetti pacchetto e condizione. Aggiunge quindi 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.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DisableWildcardHandling

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ForceWildcardHandling

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

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

Tipo:IResultObject
Alias:TaskSequence
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-InsertStepStartIndex

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

Se si specifica un valore di 0, il cmdlet aggiunge il nuovo passaggio nella parte superiore della sequenza di attività. Questo comportamento è l'impostazione predefinita se non si specifica questo parametro. Ad esempio, il cmdlet aggiunge il nuovo passaggio prima del passaggio 1.

Non è presente 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à. Ad esempio, se si specifica un valore di 10, il cmdlet aggiunge il nuovo passaggio dopo il passaggio 6.

Tipo:UInt32
Alias:InsertStepsStartIndex
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Step

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

Tipo:IResultObject[]
Alias:Steps
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:String
Alias:Id, TaskSequencePackageId
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-TaskSequenceName

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

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

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

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Output

System.Object

Note

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

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