about_WorkflowCommonParameters

간단한 설명

이 항목에서는 모든 Windows PowerShell 워크플로 명령에 유효한 매개 변수에 대해 설명합니다. Windows PowerShell 엔진이 워크플로에 추가되므로 모든 워크플로에서 이러한 매개 변수를 사용할 수 있으며 사용자가 작성한 워크플로에서 자동으로 사용하도록 설정됩니다.

자세한 설명

Windows PowerShell 워크플로 일반 매개 변수는 모든 Windows PowerShell 워크플로 및 활동에서 사용할 수 있는 cmdlet 매개 변수 집합입니다. 워크플로 작성자가 아닌 Windows PowerShell 워크플로 엔진에 의해 추가되며 워크플로 및 활동에서 자동으로 사용할 수 있습니다. 그러나 세 수준 깊이 중첩된 워크플로는 워크플로 공통 매개 변수를 비롯한 일반적인 매개 변수를 지원하지 않습니다.

모든 워크플로 매개 변수는 선택 사항이며 이름이 지정됩니다(위치가 아님). 파이프라인에서 입력을 받지 않습니다.

대부분의 워크플로 공통 매개 변수에는 PS PSComputerName 및 PSCredential과 같은 접두사가 있습니다. PS 접두사 매개 변수는 "원격 노드"라고도 하는 대상 컴퓨터에 대한 연결 및 실행 환경을 구성합니다.

PSAllowRedirection 및 AsJob같은 대부분의 워크플로 공통 매개 변수에는 Windows PowerShell 원격 및 백그라운드 작업에 사용되는 매개 변수와 유사한 이름이 있습니다. 이러한 매개 변수는 비슷한 이름의 원격 및 작업 매개 변수와 동일한 방식으로 작동하므로 원격 및 작업에서 개발한 지식을 사용하여 워크플로를 관리할 수 있습니다.

워크플로는 Windows PowerShell 3.0에서 도입되었습니다.

매개 변수 설명

이 섹션에서는 워크플로 일반 매개 변수에 대해 설명합니다.

-AsJob <SwitchParameter>

워크플로를 워크플로 작업으로 실행합니다. 워크플로 명령은 부모 작업을 나타내는 개체를 즉시 반환합니다. 부모 작업에는 각 대상 컴퓨터에서 실행되는 자식 작업이 포함됩니다. 작업을 관리하려면 Job cmdlet을 사용합니다. 작업 결과를 얻으려면 Receive-Job을 사용합니다.

-JobName <문자열>

워크플로 작업의 이름을 지정합니다. 기본적으로 작업의 이름은 Job<n><n> 서수입니다.

워크플로 명령에서 JobName 매개 변수를 사용하는 경우 워크플로는 작업으로 실행되고 워크플로 명령은 명령에 AsJob 매개 변수를 포함하지 않더라도 작업 개체를 반환합니다.

Windows PowerShell 백그라운드 작업에 대한 자세한 내용은 about_Jobs 참조하세요.

-PSAllowRedirection <SwitchParameter>

대상 컴퓨터에 대한 연결 리디렉션을 허용합니다.

PS커넥트ionURI 매개 변수를 사용하는 경우 원격 대상은 다른 URI로 리디렉션하는 명령을 반환할 수 있습니다. 기본적으로 Windows PowerShell은 연결을 리디렉션하지 않지만 PSAllowRedirection 매개 변수를 사용하여 대상 컴퓨터에 대한 연결 리디렉션을 허용할 수 있습니다.

기본 설정 변수의 Maximum커넥트ionRedirectionCount 속성 또는 PSSessionOption 매개 변수 값$PSSessionOption Maximum커넥트ionRedirectionCount 속성을 설정하여 연결이 리디렉션되는 횟수를 제한할 수도 있습니다. 기본값은 5입니다. 자세한 내용은 PSSessionOption 매개 변수 및 New-PSSessionOption에 대한 설명을 참조하세요.

-PSApplicationName <문자열>

대상 컴퓨터에 연결하는 데 사용되는 연결 URI의 애플리케이션 이름 세그먼트를 지정합니다. 명령에서 커넥트ionURI 매개 변수를 사용하지 않을 때 이 매개 변수를 사용하여 애플리케이션 이름을 지정합니다.

기본값은 로컬 컴퓨터의 $PSSessionApplicationName 기본 설정 변수 값입니다. 이 기본 설정 변수가 정의되지 않은 경우 기본값은 .입니다 WSMAN. 이 값은 대부분의 사용에 적합합니다. 자세한 내용은 about_Preference_Variables 참조하세요.

WinRM 서비스는 애플리케이션 이름을 사용하여 연결 요청을 서비스할 수신기를 선택합니다. 이 매개 변수의 값은 원격 컴퓨터에서 수신기의 URLPrefix 속성 값과 일치해야 합니다.

-PSAuthentication <AuthenticationMechanism>

대상 컴퓨터에 연결할 때 사용자의 자격 증명을 인증하는 데 사용되는 메커니즘을 지정합니다.

유효한 값은 다음과 같습니다.

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

기본값은 Default입니다.

이 매개 변수의 값에 대한 자세한 내용은 PowerShell SDK의 System.Management.Automation.Runspaces.AuthenticationMechanism 열거형에 대한 설명을 참조하세요.

Warning

사용자의 자격 증명이 인증될 원격 컴퓨터에 전달되는 CredSSP(자격 증명 보안 서비스 공급자) 인증은 원격 네트워크 공유 액세스와 같이 둘 이상의 리소스에 대한 인증이 필요한 명령을 위해 설계되었습니다. 이 메커니즘은 원격 작업의 보안 위험을 높입니다. 원격 컴퓨터가 손상된 경우 이 컴퓨터로 전달된 자격 증명을 사용하여 네트워크 세션을 제어할 수 있습니다.

-PSAuthenticationLevel <AuthenticationLevel>

대상 컴퓨터에 대한 연결에 대한 인증 수준을 지정합니다. 기본값은 Default입니다.

유효한 값은 다음과 같습니다.

속성 설명
Unchanged 인증 수준은 이전 명령과 동일합니다.
Default Windows 인증.
None COM 인증이 없습니다.
Connect 커넥트 수준 COM 인증입니다.
Call 호출 수준 COM 인증.
Packet 패킷 수준 COM 인증.
PacketIntegrity 패킷 무결성 수준 COM 인증.
PacketPrivacy 패킷 개인 정보 수준 COM 인증.

-PSCertificateThumbprint <문자열>

이 작업을 수행할 수 있는 권한이 있는 사용자 계정의 디지털 공개 키 인증서(X509)를 지정합니다. 인증서의 인증서 지문을 입력합니다.

인증서는 클라이언트 인증서 기반 인증에 사용됩니다. 로컬 사용자 계정에만 매핑할 수 있습니다. do기본 계정으로는 작동하지 않습니다.

인증서를 얻으려면 Windows PowerShell Cert: 드라이브에서 Get-Item 또는 Get-ChildItem cmdlet을 사용합니다.

-PSComputerName <String[]>

워크플로의 대상 노드인 컴퓨터 목록을 지정합니다. 워크플로의 명령 또는 활동은 이 매개 변수를 사용하여 지정된 컴퓨터에서 실행됩니다. 기본값은 로컬 컴퓨터입니다.

쉼표로 구분된 목록에 하나 이상의 컴퓨터의 NETBIOS 이름, IP 주소 또는 정규화된 do기본 이름을 입력합니다. 로컬 컴퓨터를 지정하려면 컴퓨터 이름 localhost또는 점(.)을 입력합니다.

PSComputerName 매개 변수 값에 로컬 컴퓨터를 포함하려면 관리자 권한으로 실행 옵션을 사용하여 Windows PowerShell을 엽니다.

이 매개 변수를 명령에서 생략하거나 값 $null 이 값이거나 빈 문자열인 경우 워크플로 대상은 로컬 컴퓨터이고 Windows PowerShell 원격은 명령을 실행하는 데 사용되지 않습니다.

ComputerName 매개 변수 값에 IP 주소를 사용하려면 명령에 PSCredential 매개 변수가 포함되어야 합니다. 또한 HTTPS 전송을 위해 컴퓨터를 구성해야 하거나 원격 컴퓨터의 IP 주소를 로컬 컴퓨터의 WinRM TrustedHosts 목록에 포함해야 합니다. 컴퓨터 이름을 TrustedHosts 목록에 추가하는 방법에 대한 지침은 about_Remote_Troubleshooting의 "신뢰할 수 있는 호스트 목록에 컴퓨터를 추가하는 방법"을 참조하세요.

-PSConfigurationName <문자열>

대상 컴퓨터에서 세션을 구성하는 데 사용되는 세션 구성을 지정합니다. 대상 컴퓨터(워크플로 서버 컴퓨터 아님)에 세션 구성을 입력합니다. 기본값은 Microsoft.PowerShell.Workflow입니다.

-PS커넥트ionRetryCount <UInt>

첫 번째 연결 시도가 실패할 경우 각 대상 컴퓨터에 연결하려는 최대 시도 횟수를 지정합니다. 1에서 4,294,967,295(UInt.MaxValue) 사이의 숫자를 입력합니다. 기본값인 0(0)은 재시도 시도를 나타내지 않습니다.

-PS커넥트ionRetryIntervalSec <UInt>

연결 다시 시도 사이의 지연 시간(초)을 지정합니다. 기본값은 0(0)입니다. 이 매개 변수는 PS커넥트ionRetryCount값이 적어도 1.

-PS커넥트ionURI <System.Uri>

대상 컴퓨터의 워크플로에 대한 연결 엔드포인트를 정의하는 URI(Uniform Resource Identifier)를 지정합니다. URI는 정규화되어야 합니다.

이 문자열의 형식은 다음과 같습니다.

<Transport>://<ComputerName>:<Port>/<ApplicationName>

기본값은 http://localhost:5985/WSMAN입니다.

PS커넥트ionURI지정하지 않으면 PSUseSSL, PSComputerName, PSPortPSApplicationName 매개 변수를 사용하여 PS커넥트ionURI 값을 지정할 수 있습니다.

URI의 전송 세그먼트에 유효한 값은 HTTP 및 HTTPS입니다. 전송 세그먼트를 사용하여 연결 URI를 지정하지만 포트를 지정하지 않으면 HTTP 및 443 HTTPS에 대한 표준 포트 80 를 사용하여 세션이 만들어집니다. Windows PowerShell 원격에 기본 포트를 사용하려면 HTTP 또는 5986 HTTPS용 포트 5985 를 지정합니다.

-PSCredential <PSCredential>

대상 컴퓨터에서 워크플로를 실행할 수 있는 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다. 이 매개 변수는 PSComputerName 매개 변수가 명령에 포함된 경우에만 유효합니다.

사용자 이름(예: User01 또는)을 입력하거나 Domain01\User01cmdlet이 반환하는 것과 같은 PSCredential 개체가 포함된 변수를 Get-Credential 입력합니다. 사용자 이름만 입력하면 암호를 입력하라는 메시지가 표시됩니다.

-PSElapsedTimeoutSec <UInt32>

워크플로 및 모든 관련 리소스가 시스템에서 기본 되는 기간을 결정합니다. 시간 제한이 만료되면 워크플로가 여전히 처리 중이더라도 삭제됩니다. 10에서 4,294,967,295 사이의 값을 입력합니다. 기본값( 0 0)은 경과된 시간 제한이 없음을 의미합니다.

-PSParameterCollection <Hashtable[]>

다른 대상 컴퓨터에 대해 서로 다른 워크플로 공통 매개 변수 값을 지정합니다.

각 대상 컴퓨터에 대해 하나의 해시 테이블이 있는 해시 테이블의 쉼표로 구분된 목록을 입력합니다. 각 해시 테이블에서 첫 번째 키는 PSComputerName 이고 해당 값은 대상 컴퓨터의 이름입니다. 컴퓨터 이름에는 와일드카드 문자가 허용됩니다. 해시 테이블의 다시 기본 키의 경우 키는 매개 변수 이름이고 값은 매개 변수 값입니다.

예시:

-PSParameterCollection @{PSComputerName="*"; PSElapsedTimeoutSec=20},
@{PSComputerName="Server02"},
@{PSComputerName="Server03"},
@{PSComputerName="Server01"; PSElapsedTimeoutSec=10}

위의 예제에서 모든 연결에는 자체 시간 제한(초)을 지정하여 기본값을 재정의 20 하는 Server01을 제외하고 모든 연결에 기본 PSElapsedTimeoutSec(10초)이 있습니다.

-PSPersist <부울>

워크플로에 지정된 검사 점 외에도 검사 지점을 워크플로에 추가합니다.

이 매개 변수는 PSPersist 작업 공통 매개 변수, 활동 또는 $PSPersistPreference 변수를 사용하여 지정한 것과 같이 워크플로의 Checkpoint-Workflow 검사포인트를 표시할 수 없습니다.

"검사포인트" 또는 "지속성 지점"은 워크플로가 실행되는 동안 캡처되고 디스크 또는 SQL 데이터베이스의 지속성 저장소에 저장되는 워크플로 상태 및 데이터의 스냅샷. Windows PowerShell 워크플로는 저장된 데이터를 사용하여 워크플로를 다시 시작하는 대신 마지막 지속성 지점에서 일시 중단되거나 중단된 워크플로를 다시 시작합니다.

유효한 값은

  • (기본값) 이 매개 변수를 생략하면 워크플로에 지정된 검사 점 외에도 검사 지점이 워크플로의 시작과 끝에 추가됩니다.

  • $True. 워크플로의 시작과 끝에 검사포인트를 추가하고 워크플로에 지정된 검사 점 외에도 각 작업 뒤의 검사포인트를 추가합니다.

  • $False. 검사 지점이 추가되지 않습니다. 검사점은 워크플로에 지정된 경우에만 수행됩니다.

-PSPort <Int32>

대상 컴퓨터의 네트워크 포트를 지정합니다. 기본 포트는 5985 (HTTP용 WinRM 포트) 및 5986 (HTTPS용 WinRM 포트)입니다.

PSPort 매개 변수를 사용해야 하는 경우가 아니면 사용하지 마세요. 명령의 포트 집합은 명령이 실행되는 모든 컴퓨터 또는 세션에 적용됩니다. 대체 포트 설정을 사용하면 명령이 모든 컴퓨터에서 실행되지 않을 수 있습니다. 대체 포트를 사용하려면 먼저 원격 컴퓨터에 해당 포트에서 수신 대기할 WinRM 수신기를 구성해야 합니다.

-PSPrivateMetadata <Hashtable>

워크플로 작업에 사용자 지정된 정보를 제공합니다. 해시 테이블을 입력합니다. 키와 값은 각 워크플로에 대해 사용자 지정됩니다. 워크플로의 프라이빗 메타데이터에 대한 자세한 내용은 워크플로에 대한 도움말 항목을 참조하세요.

이 매개 변수는 Windows PowerShell 워크플로 엔진에서 처리되지 않습니다. 대신 엔진은 해시 테이블을 워크플로에 직접 전달합니다.

-PSRunningTimeoutSec <UInt32>

워크플로가 일시 중단된 시간을 제외하고 워크플로의 실행 시간을 초 단위로 지정합니다. 시간이 만료되면 워크플로 실행이 완료되지 않으면 Windows PowerShell 워크플로 엔진이 워크플로 실행을 강제로 중지합니다.

-PSSessionOption <PSSessionOption>

세션에 대한 고급 옵션을 대상 컴퓨터로 설정합니다. cmdlet을 사용하여 만든 개체와 같은 PSSessionOption 개체를 New-PSSessionOption 입력합니다.

세션 옵션의 기본값은 설정된 경우 기본 설정 변수의 $PSSessionOption 값에 따라 결정됩니다. 그렇지 않으면 세션이 세션 구성에 지정된 값을 사용합니다.

기본값을 포함한 세션 옵션에 대한 설명은 New-PSSessionOption을 참조하세요. 기본 설정 변수에 $PSSessionOption 대한 자세한 내용은 about_Preference_Variables 참조하세요.

-PSUseSSL <SwitchParameter>

SSL(Secure Sockets Layer) 프로토콜을 사용하여 대상 컴퓨터에 대한 연결을 설정합니다. 기본적으로 SSL은 사용되지 않습니다.

WS-Management는 네트워크를 통해 전송되는 모든 Windows PowerShell 콘텐츠를 암호화합니다. UseSSL 은 HTTP 대신 HTTPS를 통해 데이터를 보내는 추가 보호입니다. 이 매개 변수를 사용하지만 명령에 사용되는 포트에서 SSL을 사용할 수 없는 경우 명령이 실패합니다.

참고 항목