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:
- Get-CMTSStepApplyDataImage
- New-CMTSStepApplyDataImage
- Remove-CMTSStepApplyDataImage
- Set-CMTSStepApplyDataImage
Il existe un ensemble de ces cmdlets pour chaque étape de séquence de tâches.