New-PSWorkflowSession

워크플로 세션을 만듭니다.

Syntax

New-PSWorkflowSession
   [[-ComputerName] <String[]>]
   [-Credential <Object>]
   [-Name <String[]>]
   [-Port <Int32>]
   [-UseSSL]
   [-ApplicationName <String>]
   [-ThrottleLimit <Int32>]
   [-SessionOption <PSSessionOption>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-EnableNetworkAccess]
   [<CommonParameters>]

Description

이 cmdlet은 New-PSWorkflowSession Windows PowerShell 워크플로를 실행하기 위해 특별히 설계된 PSSession(사용자 관리 세션)을 만듭니다. 스크립트, 형식 및 서식 파일 및 워크플로에 필요한 옵션을 포함하는 Microsoft.PowerShell.Workflow 세션 구성을 사용합니다.

또는 해당 별칭을 사용할 New-PSWorkflowSession 수 있습니다. nwsn

이 명령에 워크플로 공통 매개 변수를 추가할 수도 있습니다. 워크플로 일반 매개 변수에 대한 자세한 내용은 about_WorkflowCommonParameters 참조 하세요.

이 cmdlet은 Windows PowerShell 3.0에서 도입되었습니다.

예제

예제 1: 원격 컴퓨터에서 워크플로 세션 만들기

이 예제에서는 ServerNode01 원격 컴퓨터에서 WorkflowTests 세션을 만듭니다.

$params = @{
    ComputerName = "ServerNode01"
    Name = "WorkflowTests"
    SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params

SessionOption 매개 변수의 값은 세션의 출력 버퍼링 모드를 Drop으로 설정하는 명령입니다New-PSSessionOption.

예제 2: 여러 원격 컴퓨터에서 워크플로 세션 만들기

이 예제에서는 ServerNode01 및 Server12 컴퓨터에서 워크플로 세션을 만듭니다. 이 명령은 자격 증명 매개 변수를 사용하여 do기본 관리자의 권한으로 실행합니다.

"ServerNode01", "Server12" |
    New-PSWorkflowSession -Name WorkflowSession -Credential Domain01\Admin01 -ThrottleLimit 150

이 명령은 ThrottleLimit 매개 변수를 사용하여 명령별 제한 제한을 .로 150늘림 이 값은 Microsoft.PowerShell.Workflow 세션 구성에 설정된 기본 제한 100 보다 우선합니다.

매개 변수

-ApplicationName

연결 URI의 애플리케이션 이름 세그먼트를 지정합니다.

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

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

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

-Authentication

사용자 자격 증명을 인증하는 데 사용되는 메커니즘을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

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

기본값은 Default입니다.

CredSSP 인증은 Windows Vista, Windows Server 2008 이상 버전의 Windows 운영 체제에서만 사용할 수 있습니다.

이 매개 변수의 값에 대한 자세한 내용은 AuthenticationMechanism 열거형을 참조 하세요.

주의

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

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

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

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

인증서 지문을 가져오려면 Windows PowerShell Cert: 드라이브에서 Get-ChildItem cmdlet 또는 cmdlet을 사용합니다Get-Item.

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

-ComputerName

지정된 컴퓨터에 대한 영구 연결(PSSession)을 만듭니다. 여러 컴퓨터 이름을 입력하면 Windows PowerShell에서 각 컴퓨터에 대해 하나씩 여러 PSSessions를 만듭니다. 기본값은 로컬 컴퓨터입니다.

하나 이상의 원격 컴퓨터의 NetBIOS 이름, IP 주소 또는 정규화된 do기본 이름을 입력합니다. 로컬 컴퓨터를 지정하려면 컴퓨터 이름 localhost또는 점(.)을 입력합니다. 컴퓨터가 사용자와 다른 do기본인 경우 정규화된 do기본 이름이 필요합니다. 컴퓨터 이름을 따옴표로 묶어 파이프할 New-PSWorkflowSession수도 있습니다.

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

Type:String[]
Aliases:Cn
Position:0
Default value:Local computer
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Credential

이 작업을 수행할 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다. 사용자 이름(예: User01, 또는)을 입력하거나 User@Domain.comcmdlet에서 반환된 개체와 같은 PSCredential 개체를 Get-Credential 입력Domain01\User01합니다.

사용자 이름을 입력하면 이 cmdlet에서 암호를 묻는 메시지를 표시합니다.

Type:Object
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableNetworkAccess

이 cmdlet은 루프백 세션에 대화형 보안 토큰을 추가한다는 것을 나타냅니다. 대화형 토큰을 사용하면 루프백 세션에서 다른 컴퓨터에서 데이터를 가져오는 명령을 실행할 수 있습니다. 예를 들어 원격 컴퓨터에서 로컬 컴퓨터로 XML 파일을 복사하는 명령을 세션에서 실행할 수 있습니다.

루프백 세션은 동일한 컴퓨터에서 시작되고 끝나는 PSSession 입니다. 루프백 세션을 만들려면 ComputerName 매개 변수를 지정하거나 해당 값을 점(.) localhost또는 로컬 컴퓨터의 이름으로 설정하지 마세요.

기본적으로 네트워크 토큰이 있는 루프백 세션은 원격 컴퓨터에 인증하기에 충분한 권한을 제공하지 못할 수 있습니다.

EnableNetworkAccess 매개 변수는 루프백 세션에서만 유효합니다. 원격 컴퓨터에서 세션을 만들 때 EnableNetworkAccess 매개 변수를 지정하면 명령이 성공하지만 매개 변수는 무시됩니다.

세션 자격 증명을 다른 컴퓨터에 위임하는 인증 매개 변수의 CredSSP 값을 사용하여 루프백 세션에서 원격 액세스를 허용할 수도 있습니다.

악의적인 액세스로부터 컴퓨터를 보호하기 위해 EnableNetworkAccess 매개 변수를 사용하여 만든 대화형 토큰이 있는 연결이 끊긴 루프백 세션은 세션이 만들어진 컴퓨터에서만 다시 연결할 수 있습니다. CredSSP 인증을 사용하는 연결이 끊긴 세션은 다른 컴퓨터에서 다시 연결할 수 있습니다. 자세한 내용은 cmdlet을 Disconnect-PSSession 참조하세요.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

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

-Name

워크플로 세션의 이름을 지정합니다. 이름과 같은 Get-PSSessionEnter-PSSession다른 cmdlet과 함께 사용할 수 있습니다. 이름은 컴퓨터 또는 현재 세션에 고유할 필요가 없습니다.

Type:String[]
Position:Named
Default value:Session#
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Port

이 연결에 사용되는 원격 컴퓨터의 네트워크 포트를 지정합니다. 원격 컴퓨터에 연결하려면 원격 컴퓨터가 연결에서 사용하는 포트에서 수신 대기해야 합니다. 기본 포트는 5985 (HTTP용 WinRM 포트) 및 5986 (HTTPS의 경우 WinRM 포트)입니다.

다른 포트를 사용하기 전에 원격 컴퓨터에서 WinRM 수신기를 구성하여 해당 포트에서 수신 대기해야 합니다. 다음 명령을 사용하여 수신기를 구성합니다.

winrm delete winrm/config/listener?Address=*+Transport=HTTP

winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}

반드시 사용해야 하는 경우가 아니면 포트 매개 변수를 사용하지 마세요. 명령의 포트 설정은 명령이 실행되는 모든 컴퓨터 또는 세션에 적용됩니다. 대체 포트 설정을 사용하면 명령이 모든 컴퓨터에서 실행되지 않을 수 있습니다.

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

-SessionOption

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

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

세션 옵션 값은 기본 설정 변수 및 세션 구성에서 설정된 세션의 $PSSessionOption 기본값보다 우선합니다. 그러나 세션 구성에 설정된 최대 값, 할당량 또는 제한보다 우선하지 않습니다. 세션 구성에 대한 자세한 내용은 about_Session_Configurations를 참조하세요.

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

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

-ThrottleLimit

이 명령을 실행하도록 설정할 수 있는 최대 동시 연결 수를 지정합니다. 이 매개 변수를 생략하거나 값 0 (0)을 입력하면 Microsoft.PowerShellWorkflow 세션 구성100의 기본값이 사용됩니다.

제한 제한은 세션이나 컴퓨터가 아닌 현재 명령에만 적용됩니다.

Type:Int32
Position:Named
Default value:100
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

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

WS-Management는 네트워크를 통해 전송되는 모든 Windows PowerShell 콘텐츠를 암호화합니다. UseSSL 매개 변수는 HTTP 연결 대신 HTTPS 연결을 통해 데이터를 보내는 추가 보호입니다.

이 매개 변수를 지정하지만 명령에 사용되는 포트에서 SSL을 사용할 수 없는 경우 명령이 실패합니다.

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

입력

PSSession

세션을 이 cmdlet으로 파이프할 수 있습니다.

String

컴퓨터 이름을 이 cmdlet으로 파이프할 수 있습니다.

출력

PSSession

참고

Windows PowerShell에는 다음 별칭이 포함됩니다.New-PSWorkflowSession

  • nwsn

New-PSWorkflowSession 명령은 다음 명령과 동일합니다.

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow