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 5du 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 4commande ajoute la nouvelle étape après l’étape 4.

Si vous spécifiez la valeur , l’applet de 0commande 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 10commande 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 :

Il existe un ensemble de ces applets de commande pour chaque étape de séquence de tâches.