Partager via


Add-CMTaskSequenceStep

Ajoutez une étape ou un groupe à une séquence de tâches.

Syntax

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 cmdlet 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, voir Étapes de séquence de tâches.

Lorsque vous ajoutez par programme des é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 :

  • step1
  • step2
  • step3
  • step4
  • group5
    • step5.1
    • step5.2
    • step5.3
    • group5.4
      • step5.4.1
    • step5.5
  • step6

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 cmdlet fonctionne de la même manière, elle ajoute l’étape après l’index spécifié. Vous utilisez le paramètre InsertStepStartIndex pour spécifier l’index d’étape.

Cette cmdlet 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 du paramètre InsertStepStartIndex , la cmdlet ajoute la nouvelle étape après group5 et avant l’étape 5 6. ****

Notes

Exécutez les cmdlets Configuration Manager à partir du lecteur de site Configuration Manager, par PS XYZ:\> exemple. Pour plus d’informations, voir la mise en place.

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’cmdlet New-CMTaskSequenceStepRunPowerShellScript pour créer des objets é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 qui en résulte ressemble à la liste suivante :

  • Exécuter le script 1
  • Exécuter le script 2

Les étapes sont ordonné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’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 séquence de tâches qui en résulte 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é et qu’aucun des deux n’utilise le paramètre InsertStepStartIndex, par défaut, ils utilisent l’index 0 . La cmdlet ajoute donc la deuxième étape avant la première étape.

Exemple 3 : Ajouter une étape à un index spécifique

Cet exemple utilise d’abord l’cmdlet New-CMTSStepSetVariable pour créer un objet step pour l’étape Définir la 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 la description,cette commande ajoute un nouveau pas 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 condition à partir d’une autre étape. Dans le dernier groupe, **** il crée une étape de ligne de commande d’exécuter 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

- Confirmer

Une invite de confirmation apparaît avant d’exécuter le cmdlet.

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

- WhatIf

Présente ce qui se produit si le cmdlet s’exécute. La cmdlet ne s’exécute pas.

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

-DisableWildcardHandling

Ce paramètre traite les caractères génériques comme des valeurs littérales. Vous ne pouvez pas la combiner avec ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Spécifiez un objet de séquence de tâches auquel la cmdlet ajoute l’étape. Pour obtenir cet objet, utilisez les cmdlets Get-CMTaskSequence, Copy-CMTaskSequenceou New-CMTaskSequence.

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

-InsertStepStartIndex

Spécifiez une valeur d’un nombre nombre integer pour l’index de séquence de tâches. L’cmdlet ajoute la nouvelle étape après cet index spécifié. Par exemple, à l’aide de l’exemple de séquence de tâches dans la description, si vous spécifiez une valeur de , la cmdlet ajoute la nouvelle 4 étape après l’étape 4.

Si vous spécifiez une valeur de , la cmdlet ajoute la nouvelle étape en 0 haut de la séquence de tâches. Ce comportement est le comportement par défaut si vous ne spécifiez pas ce paramètre. Par exemple, l’cmdlet ajoute la nouvelle étape avant l’é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, la cmdlet ajoute la nouvelle étape à la fin de la séquence de tâches. Par exemple, si vous spécifiez une valeur de 10 , l’cmdlet ajoute la nouvelle étape après l’étape 6.

Type:UInt32
Aliases:InsertStepsStartIndex
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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 cmdlets **New-CMTSStep. * ** Par exemple, Get-CMTSStepApplyDataImage.

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

-TaskSequenceId

Spécifiez l’ID d’une séquence de tâches à laquelle la cmdlet ajoute l’étape. Cet ID est l’ID du package de séquence de tâches, par XYZ00861 exemple.

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

-TaskSequenceName

Spécifiez le nom d’une séquence de tâches à laquelle la cmdlet ajoute l’étape.

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

Entrées

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Sorties

System.Object

Notes

Bien qu’elle ne soit pas répertoriée dans la section relative aux liens, vous pouvez utiliser les cmdlets **Get-CMTSStep * _, _ New-CMTSStep * _, _ Remove-CMTSStep * _, et _ Set-CMTSStep. * ** Par exemple:

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