다음을 통해 공유


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>]

Description

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

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

  • 1단계
  • 2단계
  • 3단계
  • 4단계
  • group5
    • 5.1단계
    • 5.2단계
    • 5.3단계
    • group5.4
      • step5.4.1
    • 5.5단계
  • 6단계

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

이 cmdlet은 그룹이 아닌 작업 순서의 기본 수준에만 단계를 추가할 수 있습니다. 그룹의 단계를 추가하려면 Set-CMTaskSequenceGroup을 사용합니다. 예를 들어 샘플 작업 순서를 사용하면 InsertStepStartIndex 매개 변수 값5과 함께 Add-CMTaskSequenceStep을 사용하는 경우 cmdlet은 group56단계 뒤에 새 단계를 추가합니다.

참고

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

예제

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

이 예제에서 처음 두 명령은 New-CMTaskSequenceStepRunPowerShellScript cmdlet을 사용하여 Powershell 스크립트 실행 단계에 대한 단계 개체를 만듭니다. 세 번째 명령은 스크립트 실행이라는 새 사용자 지정 작업 순서를 만듭니다. 네 번째 명령은 파이프라인을 통해 새 작업 순서 개체를 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을 사용하여 작업 순서 변수 설정 단계에 대한 단계 개체를 만듭니다. 그런 다음 인덱스 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을 실행하기 전에 확인 메시지를 표시합니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DisableWildcardHandling

이 매개 변수는 와일드카드 문자를 리터럴 문자 값으로 처리합니다. ForceWildcardHandling과 결합할 수 없습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ForceWildcardHandling

이 매개 변수는 와일드카드 문자를 처리하고 예기치 않은 동작(권장되지 않음)으로 이어질 수 있습니다. DisableWildcardHandling과 결합할 수 없습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

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

형식:IResultObject
별칭:TaskSequence
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-InsertStepStartIndex

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

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

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

형식:UInt32
별칭:InsertStepsStartIndex
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Step

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

형식:IResultObject[]
별칭:Steps
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TaskSequenceId

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

형식:String
별칭:Id, TaskSequencePackageId
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TaskSequenceName

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

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

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

형식:SwitchParameter
별칭:wi
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

출력

System.Object

참고

관련 링크 섹션에는 나열되지 않지만 Get-CMTSStep*, New-CMTSStep*, Remove-CMTSStep*, Set-CMTSStep* cmdlet을 사용할 수 있습니다. 예:

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