Add-CMTaskSequenceStep

작업 순서에 단계 또는 그룹을 추가합니다.

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

이 cmdlet을 사용하여 기존 작업 순서에 그룹 또는 단계를 추가합니다. 작업 순서 단계에 대한 자세한 내용은 작업 순서 단계를 참조하세요.

프로그래밍식으로 작업 순서에 단계를 추가하는 경우 단계의 인덱스 순서를 이해하는 것이 중요합니다. 이 문서에서는 다음과 같은 예제 작업 순서를 사용하여 인덱스를 시각화합니다.

  • 1단계
  • 2단계
  • 3단계
  • 4단계
  • group5
    • step5.1
    • step5.2
    • step5.3
    • group5.4
      • step5.4.1
    • step5.5
  • step6

작업 순서 편집기를 사용하여 단계를 추가하면 현재 선택한 단계 다음에 새 단계가 추가됩니다. 이 cmdlet은 마찬가지로, 지정된 인덱스 다음에 단계를 추가합니다. InsertStepStartIndex 매개 변수를 사용하여 단계 인덱스를 지정합니다.

이 cmdlet은 작업 순서의 기본 수준에 단계만 추가할 수 있습니다( 그룹으로는 안 ). 그룹에 단계를 추가하기 위해 Set-CMTaskSequenceGroup을 사용하세요. 예를 들어 예제 작업 순서를 사용하여 InsertStepStartIndex 매개 변수 값과 함께 Add-CMTaskSequenceStep을 사용하는 경우 5 이 cmdlet은 group5 및 step6 이전의 새 단계를 추가합니다.

참고

Configuration Manager 사이트 드라이브에서 Configuration Manager cmdlet을 실행합니다(예: PS XYZ:\> ). 자세한 내용은 시작을 참조하세요.

예제

예제 1: 두 PowerShell 스크립트를 실행 하는 사용자 지정 작업 순서 만들기

이 예제에서 처음 두 명령은 New-CMTaskSequenceStepRunPowerShellScript cmdlet을 사용하여 Powershell 스크립트 실행 단계에 대한 단계 개체를 만들 수 있습니다. 세 번째 명령은 Run scripts 라는 새 사용자 지정 작업 순서를 만듭니다. 네 번째 명령은 파이프라인을 통해 새 작업 순서 개체를 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, $step2)

결과 작업 순서는 다음 목록과 같습니다.

  • 스크립트 1 실행
  • 스크립트 2 실행

Step 매개 변수에서 순서가 지정한 방식 때문에 이러한 순서가 지정됩니다.

예제 2: 순서가 다른 두 PowerShell 스크립트를 실행하는 사용자 지정 작업 순서 만들기

이 예제는 Add-CMTaskSequenceStep cmdlet의 두 인스턴스를 사용하는 것을 제외하고 예제 1과 비슷합니다.

$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 매개 변수를 사용하지도 기본적으로 인덱스 를 0 사용합니다. 따라서 cmdlet은 첫 번째 단계 앞에 두 번째 단계를 추가합니다.

예제 3: 특정 인덱스에 단계 추가

이 예제에서는 먼저 New-CMTSStepSetVariable cmdlet을 사용하여 Set Task Sequence Variable 단계에 대한 단계 개체를 만듭니다. 그런 다음 인덱스 2의 단계 다음에 ts1이라는 작업 순서에 이 단계를 추가합니다. 설명의 예제 작업 순서를 사용하여 이 명령은 2단계와 3단계 사이에 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

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

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

cmdlet이 단계를 추가할 작업 순서 개체를 지정합니다. 이 개체를 얻습니다. Get-CMTaskSequence, Copy-CMTaskSequence또는 New-CMTaskSequence cmdlet을 사용합니다.

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

-InsertStepStartIndex

작업 순서 인덱스에 대한 정수 값을 지정합니다. 이 cmdlet은 이 지정된 인덱스 다음에 새 단계를 추가합니다. 예를 들어 Description의예제 작업 순서를 사용하여 값을 지정하면 4 cmdlet은 4단계 다음에 새 단계를 추가합니다.

값을 지정하면 이 cmdlet은 작업 순서의 맨 위에 새 0 단계를 추가합니다. 이 매개 변수를 지정하지 않으면 이 동작이 기본값입니다. 예를 들어 이 cmdlet은 1단계 전에단계를 추가합니다.

최대값은 없습니다. 마지막 단계의 인덱스보다 큰 값을 지정하면 이 cmdlet은 작업 순서의 끝에 새 단계를 추가합니다. 예를 들어 값을 지정하는 경우 10 cmdlet은 6단계다음에 새 단계를 추가합니다.

Type:UInt32
Aliases:InsertStepsStartIndex
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Step

작업 순서에 추가할 단계 개체를 하나 이상 지정합니다. 이 개체를 얻습니다. **New-CMTSStep * ** cmdlet 중 하나를 사용합니다. 예를 들어 Get-CMTSStepApplyDataImage입니다.

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

-TaskSequenceId

cmdlet이 단계를 추가할 작업 순서의 ID를 지정합니다. 이 ID는 작업 순서 패키지 ID입니다(예: XYZ00861 ).

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

-TaskSequenceName

cmdlet이 단계를 추가할 작업 순서의 이름을 지정합니다.

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

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여줍니다. 이 cmdlet은 실행되지 않습니다.

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 * ** cmdlet을 사용할 수 있습니다. 예제:

각 작업 순서 단계에 대해 이러한 cmdlet 집합이 있습니다.