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 5
del 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:
- Get-CMTSStepApplyDataImage
- New-CMTSStepApplyDataImage
- Remove-CMTSStepApplyDataImage
- Set-CMTSStepApplyDataImage
È disponibile un set di questi cmdlet per ogni passaggio della sequenza di attività.