Add-CMTaskSequenceStep
タスク シーケンスにステップまたはグループを追加します。
構文
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>]
説明
既存のタスク シーケンスにグループまたはステップを追加するには、このコマンドレットを使用します。 タスク シーケンスの手順の詳細については、「タスク シーケンスの 手順」を参照してください。
タスク シーケンスにステップをプログラムで追加する場合は、ステップのインデックスの順序を理解することが重要です。 インデックスを視覚化するために、この記事では次のタスク シーケンス例を使用します。
- step1
- step2
- step3
- step4
- group5
- step5.1
- step5.2
- step5.3
- group5.4
- step5.4.1
- step5.5
- step6
タスク シーケンス エディターを 使用して ステップを追加すると、現在選択されている手順の後に新しい手順が追加されます。 このコマンドレットも同様に動作します。指定したインデックスの後にステップが追加されます。 InsertStepStartIndex パラメーターを使用して、ステップ インデックスを指定します。
このコマンドレットは、グループではなく、タスク シーケンスのメイン レベルにのみ手順を追加できます。 グループにステップを追加するには 、Set-CMTaskSequenceGroup を使用します。 たとえば、サンプル タスク シーケンスを使用して 、InsertStepStartIndexパラメーター値でAdd-CMTaskSequenceStepを使用する場合、コマンドレットは group5 の後、および 5
step6**** の前に新しい手順を追加します。
注意
Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します PS XYZ:\>
。 詳細については 、「Getting started」を参照してください。
例
例 1: 2 つの PowerShell スクリプトを実行するカスタム タスク シーケンスを作成する
この例では、最初の 2 つのコマンドで New-CMTaskSequenceStepRunPowerShellScript コマンドレットを使用して 、Powershell スクリプトの実行手順のステップ オブジェクトを作成します。 3 番目のコマンドは、スクリプトの実行という名前の新しいカスタム タスク シーケンスを作成します。 4 番目のコマンドは、新しいタスク シーケンス オブジェクトをパイプライン経由で Add-CMTaskSequenceStepに渡し、2 つの手順を追加します。
$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)
結果のタスク シーケンスは、次の一覧のようになります。
- スクリプト 1 の実行
- スクリプト 2 の実行
手順は、Step パラメーターでの順序付け方法のために、この方法で 順序付 けされます。
例 2: 順序が異なる 2 つの PowerShell スクリプトを実行するカスタム タスク シーケンスを作成する
この例は例 1 と似ていますが 、Add-CMTaskSequenceStep コマンドレットの 2 つのインスタンスを使用しています。
$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
結果のタスク シーケンスは、次の一覧のようになります。
- スクリプト 2 の実行
- スクリプト 1 の実行
Add-CMTaskSequenceStepの各インスタンスがどのように順序付けされ 、InsertStepStartIndexパラメーターも使用しないので、既定では index を使用します 0
。 したがって、コマンドレットは、最初の手順の前 に 2 番目の 手順を追加します。
例 3: 特定のインデックスにステップを追加する
この例では、 まず New-CMTSStepSetVariable コマンドレットを使用して、[タスク シーケンス変数の設定] ステップのステップ オブジェクトを作成 します。 次に、インデックス 2 の手順の後に ts1 という 名前のタスク シーケンスにこの手順を 追加します。 Description のタスク シーケンスの例を使用して、このコマンドはstep2と step3 の間にnewStep を追加します。
$step = New-CMTSStepSetVariable -name "newStep" -TaskSequenceVariable "testVar" -TaskSequenceVariableValue "testValue"
Add-CMTaskSequenceStep -TaskSequenceName "ts1" -Step $step -InsertStepStartIndex 2
例 4: タスク シーケンスをコピーし、新しい手順を追加する
次の使用例は、既存のタスク シーケンスをコピーし、名前を変更します。 次の一連の手順では、セキュリティ スコープを再構成します。 次に、パッケージの ID を取得し、別の手順から条件オブジェクトをコピーします。 最後のグループでは、パッケージオブジェクトと条件オブジェクト**** を使用する新しいコマンド ライン実行ステップを作成します。 次に、インデックス 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
パラメーター
-Confirm
コマンドレットを実行する前に確認メッセージを表示します。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisableWildcardHandling
このパラメーターは、ワイルドカード文字をリテラル文字値として扱います。 ForceWildcardHandling と組み合わせは使用できない。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceWildcardHandling
このパラメーターはワイルドカード文字を処理し、予期しない動作を引き起こします (推奨されません)。 DisableWildcardHandling と組み合わせは使用できない。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
コマンドレットがステップを追加するタスク シーケンス オブジェクトを指定します。 このオブジェクトを取得するには 、Get-CMTaskSequenceコマンドレット 、Copy-CMTaskSequence コマンドレット、 または New-CMTaskSequence コマンドレットを使用します。
Type: | IResultObject |
Aliases: | TaskSequence |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InsertStepStartIndex
タスク シーケンス インデックスの整数値を指定します。 このコマンドレットは、この指定したインデックスの後に新しい手順を追加します。 たとえば、Description のサンプル タスク シーケンスを使用して、値を指定すると、コマンドレットは step4 の後 4
に新しい手順を追加します。
値を指定すると、タスク シーケンスの上部に新しい手順 0
が追加されます。 このパラメーターを指定しない場合、この動作は既定です。 たとえば、コマンドレットは手順 1 の前に新しい_手順を_追加します。
最大値はありません。 最後のステップのインデックスより大きい値を指定すると、タスク シーケンスの最後に新しい手順が追加されます。 たとえば、値を指定すると、手順 10
6の後に新しい手順が追加されます。
Type: | UInt32 |
Aliases: | InsertStepsStartIndex |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Step
タスク シーケンスに追加する 1 つ以上のステップ オブジェクトを指定します。 このオブジェクトを取得するには **、New-CMTSStep コマンドレットのいずれかを * **使用します。 たとえば 、Get-CMTSStepApplyDataImageです。
Type: | IResultObject[] |
Aliases: | Steps |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TaskSequenceId
コマンドレットがステップを追加するタスク シーケンスの ID を指定します。 この ID は、たとえば、タスク シーケンス パッケージ ID です XYZ00861
。
Type: | String |
Aliases: | Id, TaskSequencePackageId |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TaskSequenceName
コマンドレットがステップを追加するタスク シーケンスの名前を指定します。
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
Microsoft.ConfigurationManagement.ManagementProvider.IResultObject
出力
System.Object
メモ
[関連リンク] セクションに記載されていない場合は 、Get-CMTSStep * _、 _ New-CMTSStep * _、 _ Remove-CMTSStep * _、 および * _ Set-CMTSStepコマンドレットを使用できます。 例:
- Get-CMTSStepApplyDataImage
- New-CMTSStepApplyDataImage
- Remove-CMTSStepApplyDataImage
- Set-CMTSStepApplyDataImage
各タスク シーケンス ステップに対して、これらのコマンドレットのセットがあります。