New-CMTSStepRunPowerShellScript
작업 순서에서 PowerShell 스크립트 실행 단계를 만듭니다.
구문
New-CMTSStepRunPowerShellScript
-Name <String>
[-SuccessCode <Int32[]>]
[-Condition <IResultObject[]>]
[-ContinueOnError]
[-Description <String>]
[-Disable]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CMTSStepRunPowerShellScript
[-ExecutionPolicy <ExecutionPolicyType>]
-Name <String>
[-OutputVariableName <String>]
[-Parameter <String>]
-SourceScript <String>
[-SuccessCode <Int32[]>]
[-TimeoutMins <Int32>]
[-UserName <String>]
[-UserPassword <SecureString>]
[-WorkingDirectory <String>]
[-Condition <IResultObject[]>]
[-ContinueOnError]
[-Description <String>]
[-Disable]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CMTSStepRunPowerShellScript
[-ExecutionPolicy <ExecutionPolicyType>]
-Name <String>
[-OutputVariableName <String>]
-PackageId <String>
[-Parameter <String>]
-ScriptName <String>
[-SuccessCode <Int32[]>]
[-TimeoutMins <Int32>]
[-UserName <String>]
[-UserPassword <SecureString>]
[-WorkingDirectory <String>]
[-Condition <IResultObject[]>]
[-ContinueOnError]
[-Description <String>]
[-Disable]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
이 cmdlet은 새 PowerShell 스크립트 실행 단계 개체를 만듭니다. 그런 다음 Add-CMTaskSequenceStep cmdlet을 사용하여 단계를 작업 순서에 추가합니다. 이 단계에 대한 자세한 내용은 작업 순서 단계 정보: PowerShell 스크립트 실행을 참조하세요.
참고
Configuration Manager 사이트 드라이브에서 Configuration Manager cmdlet을 실행합니다(예: PS XYZ:\>
). 자세한 내용은 시작을 참조하세요.
예제
예 1
이 예제에서는 먼저 PowerShell 스크립트 실행 단계에 대한 개체를 만듭니다. 실행할 스크립트의 이름을 가진 패키지를 지정합니다. PowerShell 실행 정책을 가장 안전한 AllSigned 수준으로 설정하므로 스크립트에 디지털 서명이 필요합니다.
그런 다음 작업 순서 개체를 가져오고 인덱스 11의 작업 순서에 이 새 단계를 추가합니다.
$step = New-CMTSStepRunPowerShellScript -Name "Run PowerShell Script" -PackageId "XYZ00821" -ScriptName "Add-ContosoBranding.ps1" -ExecutionPolicy AllSigned
$tsNameOsd = "Default OS deployment"
$tsOsd = Get-CMTaskSequence -Name $tsNameOsd -Fast
$tsOsd | Add-CMTaskSequenceStep -Step $step -InsertStepStartIndex 11
매개 변수
-Condition
이 단계에서 사용할 조건 개체를 지정합니다. 이 개체를 얻으려면 작업 순서 조건 cmdlet 중 하나를 사용합니다. 예를 들어 Get-CMTSStepConditionVariable입니다.
형식: | IResultObject[] |
별칭: | Conditions |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Confirm
cmdlet을 실행하기 전에 확인 메시지를 표시합니다.
형식: | SwitchParameter |
별칭: | cf |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ContinueOnError
이 매개 변수를 추가하여 오류 발생시 단계 옵션 계속을 사용하도록 설정합니다. 이 옵션을 사용하도록 설정하면 단계가 실패하면 작업 순서가 계속됩니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Description
이 작업 순서 단계에 대한 선택적 설명을 지정합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Disable
이 매개 변수를 추가하여 이 작업 순서 단계를 사용하지 않도록 설정합니다.
형식: | SwitchParameter |
별칭: | DisableThisStep |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DisableWildcardHandling
이 매개 변수는 와일드카드 문자를 리터럴 문자 값으로 처리합니다. ForceWildcardHandling과 결합할 수 없습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ExecutionPolicy
컴퓨터에서 실행할 수 있는 스크립트에 대한 PowerShell 실행 정책을 지정합니다. 다음 정책 중 하나를 선택합니다.
AllSigned
: 신뢰할 수 있는 게시자가 서명한 스크립트만 실행합니다.Undefined
: 실행 정책을 정의하지 마세요.Bypass
: 모든 구성 파일을 로드하고 모든 스크립트를 실행합니다. 인터넷에서 서명되지 않은 스크립트를 다운로드하는 경우 PowerShell은 스크립트를 실행하기 전에 권한을 묻는 메시지를 표시하지 않습니다.
형식: | ExecutionPolicyType |
별칭: | PowerShellExecutionPolicy |
허용되는 값: | AllSigned, Undefined, Bypass |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ForceWildcardHandling
이 매개 변수는 와일드카드 문자를 처리하고 예기치 않은 동작(권장되지 않음)으로 이어질 수 있습니다. DisableWildcardHandling과 결합할 수 없습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Name
이 단계의 이름을 지정하여 작업 순서에서 식별합니다.
형식: | String |
별칭: | StepName |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-OutputVariableName
사용자 지정 작업 순서 변수의 이름을 지정합니다. 이 매개 변수를 사용하면 명령 출력의 마지막 1000자를 변수에 저장합니다.
형식: | String |
별칭: | Output, OutputVariable |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-PackageId
PowerShell 스크립트가 있는 패키지의 패키지 ID 를 지정합니다. 패키지에는 프로그램이 필요하지 않습니다. 하나의 패키지에는 여러 스크립트가 포함될 수 있습니다.
이 값은 표준 패키지 ID(예 XYZ00821
: )입니다.
그런 다음 ScriptName 매개 변수를 사용하여 스크립트의 이름을 지정합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Parameter
PowerShell 스크립트에 전달된 매개 변수를 지정합니다. 이러한 매개 변수는 명령줄의 PowerShell 스크립트 매개 변수와 동일합니다. PowerShell 명령줄이 아닌 스크립트에서 사용하는 매개 변수를 제공합니다.
다음 예제에는 유효한 매개 변수가 포함되어 있습니다 .
-MyParameter1 MyValue1 -MyParameter2 MyValue2
다음 예제에는 잘못된 매개 변수가 포함되어 있습니다. 처음 두 항목은 PowerShell 명령줄 매개 변수(NoLogo 및 ExecutionPolicy)입니다. 스크립트는 이러한 매개 변수를 사용하지 않습니다.
-NoLogo -ExecutionPolicy Unrestricted -File MyScript.ps1 -MyParameter1 MyValue1 -MyParameter2 MyValue2
매개 변수 값에 특수 문자 또는 공백이 포함된 경우 값 주위에 작은따옴표('
)를 사용합니다. 큰따옴표("
)를 사용하면 작업 순서 단계에서 매개 변수를 잘못 처리할 수 있습니다.
예: -Arg1 '%TSVar1%' -Arg2 '%TSVar2%'
이 매개 변수를 작업 순서 변수로 설정할 수도 있습니다. 예를 들어 작업 순서에서 스크립트를 실행할 때 를 지정 %MyScriptVariable%
하면 이 사용자 지정 변수의 값을 PowerShell 명령줄에 추가합니다.
형식: | String |
별칭: | Parameters |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ScriptName
실행할 스크립트의 이름을 지정합니다. 이 스크립트는 PackageId 매개 변수로 지정된 패키지에 있습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-SourceScript
PackageId 및 ScriptName 매개 변수를 사용하는 대신 이 매개 변수를 사용하여 스크립트 명령을 직접 지정합니다. 이 문자열 값은 이 단계가 실행되는 PowerShell 명령입니다.
기존 스크립트 파일의 내용을 문자열 변수로 읽은 다음 이 매개 변수에 해당 변수를 사용할 수 있습니다. 예:
$script = [IO.File]::ReadAllText( "C:\temp\script.ps1" )
형식: | String |
별칭: | SourceCode |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-SuccessCode
단계가 성공으로 평가되어야 하는 스크립트의 종료 코드로 정수 값 배열을 지정합니다.
형식: | Int32[] |
별칭: | SuccessCodes |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-TimeoutMins
Configuration Manager에서 스크립트를 실행할 수 있는 기간을 나타내는 정수 값을 지정합니다. 이 값은 분에서 1
분까지 999
일 수 있습니다. 기본값은 분입니다 15
.
지정된 스크립트가 성공적으로 완료될 때까지 충분한 시간을 허용하지 않는 값을 입력하면 이 단계가 실패합니다. 단계 또는 그룹 조건에 따라 전체 작업 순서가 실패할 수 있습니다. 시간 제한이 만료되면 Configuration Manager는 PowerShell 프로세스를 종료합니다.
형식: | Int32 |
별칭: | TimeoutInMinutes |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-UserName
이 매개 변수를 사용하여 로컬 시스템 계정이 아닌 Windows 사용자 계정으로 스크립트를 실행합니다. Windows 사용자 계정의 이름을 지정합니다. 계정 암호를 지정하려면 UserPassword 매개 변수를 사용합니다.
형식: | String |
별칭: | User |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-UserPassword
이 매개 변수를 사용하여 UserName으로 지정하는 계정의 암호를 지정합니다.
형식: | SecureString |
별칭: | Password |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WhatIf
cmdlet이 실행되면 어떻게 되는지 보여줍니다. cmdlet이 실행되지 않습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WorkingDirectory
명령이 시작되는 폴더를 지정합니다. 이 경로는 최대 127자까지 가능합니다.
형식: | String |
별칭: | StartIn |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
출력
IResultObject
참고
이 반환 개체 및 해당 속성에 대한 자세한 내용은 SMS_TaskSequence_RunPowerShellScriptAction 서버 WMI 클래스를 참조하세요.