Add-CMTaskSequenceStep
Ajouter une étape ou un groupe à une séquence de tâches.
Syntaxe
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
Utilisez cette applet de commande pour ajouter un groupe ou une étape à une séquence de tâches existante. Pour plus d’informations sur les étapes des séquences de tâches, consultez Étapes de la séquence de tâches.
Lors de l’ajout par programmation d’étapes à une séquence de tâches, il est important de comprendre l’ordre d’index des étapes. Pour vous aider à visualiser l’index, cet article utilise l’exemple de séquence de tâches suivant :
- étape 1
- étape 2
- étape 3
- étape 4
- group5
- étape 5.1
- étape 5.2
- étape 5.3
- group5.4
- étape 5.4.1
- étape 5.5
- étape 6
Lorsque vous utilisez l’éditeur de séquence de tâches pour ajouter une étape, la nouvelle étape est ajoutée après l’étape actuellement sélectionnée. Cette applet de commande fonctionne de la même façon. Elle ajoute l’étape après l’index spécifié. Vous utilisez le paramètre InsertStepStartIndex pour spécifier l’index d’étape.
Cette applet de commande peut uniquement ajouter des étapes au niveau principal de la séquence de tâches, et non dans des groupes. Pour ajouter des étapes dans des groupes, utilisez Set-CMTaskSequenceGroup. Par exemple, avec l’exemple de séquence de tâches, si vous utilisez Add-CMTaskSequenceStep avec la valeur 5
du paramètre InsertStepStartIndex , l’applet de commande ajoute la nouvelle étape après group5 et avant l’étape 6.
Remarque
Exécutez des applets de commande Configuration Manager à partir du lecteur de site Configuration Manager, par exemple PS XYZ:\>
. Pour plus d’informations, consultez Prise en main.
Exemples
Exemple 1 : Créer une séquence de tâches personnalisée qui exécute deux scripts PowerShell
Dans cet exemple, les deux premières commandes utilisent l’applet de commande New-CMTaskSequenceStepRunPowerShellScript pour créer des objets d’étape pour l’étape Exécuter le script PowerShell . La troisième commande crée une séquence de tâches personnalisée nommée Exécuter des scripts. La quatrième commande transmet le nouvel objet de séquence de tâches via le pipeline à Add-CMTaskSequenceStep, qui ajoute les deux étapes.
$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 séquence de tâches obtenue ressemble à la liste suivante :
- Exécuter le script 1
- Exécuter le script 2
Les étapes sont classées de cette façon en raison de leur ordre dans le paramètre Step .
Exemple 2 : Créer une séquence de tâches personnalisée qui exécute deux scripts PowerShell dans un ordre différent
Cet exemple est similaire à l’exemple 1, sauf qu’il utilise deux instances de l’applet de commande 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 séquence de tâches obtenue ressemble à la liste suivante :
- Exécuter le script 2
- Exécuter le script 1
En raison de la façon dont chaque instance de Add-CMTaskSequenceStep est ordonnée et n’utilise pas non plus le paramètre InsertStepStartIndex , par défaut, ils utilisent index 0
. Par conséquent, l’applet de commande ajoute la deuxième étape avant la première étape.
Exemple 3 : Ajouter une étape à un index spécifique
Cet exemple utilise d’abord l’applet de commande New-CMTSStepSetVariable pour créer un objet step pour l’étape Définir une variable de séquence de tâches. Il ajoute ensuite cette étape à la séquence de tâches nommée ts1 après l’étape à l’index 2. À l’aide de l’exemple de séquence de tâches dans description, cette commande ajoute newStep entre les étapes 2 et 3.
$step = New-CMTSStepSetVariable -name "newStep" -TaskSequenceVariable "testVar" -TaskSequenceVariableValue "testValue"
Add-CMTaskSequenceStep -TaskSequenceName "ts1" -Step $step -InsertStepStartIndex 2
Exemple 4 : Copier une séquence de tâches et ajouter une nouvelle étape
Cet exemple copie une séquence de tâches existante, puis la renomme. L’ensemble d’étapes suivant reconfigure l’étendue de sécurité. Il obtient ensuite l’ID d’un package et copie un objet de condition à partir d’une autre étape. Dans le dernier groupe, il crée une étape Exécuter la ligne de commande qui utilise les objets package et condition. Il ajoute ensuite la nouvelle étape à la nouvelle séquence de tâches à l’index 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
Paramètres
-Confirm
Une invite de confirmation apparaît avant d’exécuter le cmdlet.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DisableWildcardHandling
Ce paramètre traite les caractères génériques comme des valeurs de caractère littéral. Vous ne pouvez pas la combiner avec ForceWildcardHandling.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ForceWildcardHandling
Ce paramètre traite les caractères génériques et peut entraîner un comportement inattendu (non recommandé). Vous ne pouvez pas la combiner avec DisableWildcardHandling.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-InputObject
Spécifiez un objet de séquence de tâches auquel l’applet de commande ajoute l’étape. Pour obtenir cet objet, utilisez les applets de commande Get-CMTaskSequence, Copy-CMTaskSequence ou New-CMTaskSequence .
Type: | IResultObject |
Alias: | TaskSequence |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-InsertStepStartIndex
Spécifiez une valeur entière pour l’index de séquence de tâches. L’applet de commande ajoute la nouvelle étape après cet index spécifié. Par exemple, en utilisant l’exemple de séquence de tâches dans la Description, si vous spécifiez la valeur , l’applet de 4
commande ajoute la nouvelle étape après l’étape 4.
Si vous spécifiez la valeur , l’applet de 0
commande ajoute la nouvelle étape en haut de la séquence de tâches. Ce comportement est la valeur par défaut si vous ne spécifiez pas ce paramètre. Par exemple, l’applet de commande ajoute la nouvelle étape avantl’étape 1.
Il n’y a pas de valeur maximale. Si vous spécifiez une valeur supérieure à l’index de la dernière étape, l’applet de commande ajoute la nouvelle étape à la fin de la séquence de tâches. Par exemple, si vous spécifiez la valeur , l’applet de 10
commande ajoute la nouvelle étape après l’étape 6.
Type: | UInt32 |
Alias: | InsertStepsStartIndex |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Step
Spécifiez un ou plusieurs objets d’étape à ajouter à la séquence de tâches. Pour obtenir cet objet, utilisez l’une des applets de commande New-CMTSStep* . Par exemple, Get-CMTSStepApplyDataImage.
Type: | IResultObject[] |
Alias: | Steps |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-TaskSequenceId
Spécifiez l’ID d’une séquence de tâches à laquelle l’applet de commande ajoute l’étape. Cet ID est l’ID du package de séquence de tâches, par exemple XYZ00861
.
Type: | String |
Alias: | Id, TaskSequencePackageId |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-TaskSequenceName
Spécifiez le nom d’une séquence de tâches à laquelle l’applet de commande ajoute l’étape.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-WhatIf
Présente ce qui se produit si le cmdlet s’exécute. L’applet de commande ne s’exécute pas.
Type: | SwitchParameter |
Alias: | wi |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Microsoft.ConfigurationManagement.ManagementProvider.IResultObject
Sorties
System.Object
Notes
Bien qu’il ne figure pas dans la section des liens connexes, vous pouvez utiliser les applets de commande Get-CMTSStep*, New-CMTSStep*, Remove-CMTSStep* et Set-CMTSStep* . Par exemple :
- Get-CMTSStepApplyDataImage
- New-CMTSStepApplyDataImage
- Remove-CMTSStepApplyDataImage
- Set-CMTSStepApplyDataImage
Il existe un ensemble de ces applets de commande pour chaque étape de séquence de tâches.