Connect-WSMan

원격 컴퓨터의 WinRM 서비스에 연결합니다.

Syntax

Connect-WSMan
       [-ApplicationName <String>]
       [[-ComputerName] <String>]
       [-OptionSet <Hashtable>]
       [-Port <Int32>]
       [-SessionOption <SessionOption>]
       [-UseSSL]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [<CommonParameters>]
Connect-WSMan
       [-ConnectionURI <Uri>]
       [-OptionSet <Hashtable>]
       [-Port <Int32>]
       [-SessionOption <SessionOption>]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [<CommonParameters>]

Description

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

cmdlet은 Connect-WSMan 원격 컴퓨터의 WinRM 서비스에 연결하고 원격 컴퓨터에 대한 영구 연결을 설정합니다. WSMan 공급자의 컨텍스트에서 이 cmdlet을 사용하여 원격 컴퓨터의 WinRM 서비스에 연결할 수 있습니다. 그러나 WSMan 공급자로 변경하기 전에 이 cmdlet을 사용하여 원격 컴퓨터의 WinRM 서비스에 연결할 수도 있습니다. 원격 컴퓨터가 WSMan 공급자의 루트 디렉터리에 나타납니다.

클라이언트와 서버 컴퓨터가 서로 다른 작업기본 그룹 또는 작업 그룹에 있는 경우 명시적 자격 증명이 필요합니다.

원격 컴퓨터에서 WinRM 서비스에서 연결을 끊는 방법에 대한 자세한 내용은 cmdlet을 Disconnect-WSMan 참조하세요.

예제

예제 1: 원격 컴퓨터에 커넥트

PS C:\> Connect-WSMan -ComputerName "server01"
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

이 명령은 원격 server01 컴퓨터에 대한 연결을 만듭니다.

Connect-WSMan cmdlet은 일반적으로 WSMan 공급자의 컨텍스트에서 원격 컴퓨터(이 경우 server01 컴퓨터)에 연결하는 데 사용됩니다. 그러나 WSMan 공급자로 변경하기 전에 cmdlet을 사용하여 원격 컴퓨터에 대한 연결을 설정할 수 있습니다. 이러한 연결은 ComputerName 목록에 표시됩니다.

예제 2: 관리istrator 자격 증명을 사용하여 원격 컴퓨터에 커넥트

PS C:\> $cred = Get-Credential Administrator
PS C:\> Connect-WSMan -ComputerName "server01" -Credential $cred
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

이 명령은 관리istrator 계정 자격 증명을 사용하여 원격 시스템 server01에 대한 연결을 만듭니다.

첫 번째 명령은 Get-Credential cmdlet을 사용하여 관리istrator 자격 증명을 가져와 변수에 $cred 저장합니다. Get-Credential 는 시스템 레지스트리 설정에 따라 대화 상자 또는 명령줄에서 사용자 이름 및 암호의 암호를 묻는 메시지를 표시합니다.

두 번째 명령은 자격 증명 매개 변수를 사용하여 $cred 저장된 자격 증명을 전달합니다Connect-WSMan. Connect-WSMan그런 다음 관리istrator 자격 증명을 사용하여 원격 시스템 server01에 연결합니다.

예제 3: 지정된 포트를 통해 원격 컴퓨터에 커넥트

PS C:\> Connect-WSMan -ComputerName "server01" -Port 80
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

이 명령은 포트 80을 통해 원격 server01 컴퓨터에 대한 연결을 만듭니다.

예제 4: 연결 옵션을 사용하여 원격 컴퓨터에 커넥트

PS C:\> $a = New-WSManSessionOption -OperationTimeout 30000
PS C:\> Connect-WSMan -ComputerName "server01" -SessionOption $a
PS C:\> cd wsman:
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

이 예제에서는 명령에 정의된 New-WSManSessionOption 연결 옵션을 사용하여 원격 server01 컴퓨터에 대한 연결을 만듭니다.

첫 번째 명령은 변수에 연결 설정 옵션 집합을 $a 저장하는 데 사용합니다New-WSManSessionOption. 이 경우 세션 옵션은 연결 시간을 30초(30,000밀리초)로 설정합니다.

두 번째 명령은 SessionOption 매개 변수를 사용하여 변수에 저장된 자격 증명을 $a 전달합니다Connect-WSMan. Connect-WSMan 그런 다음, 지정된 세션 옵션을 사용하여 원격 server01 컴퓨터에 연결합니다.

매개 변수

-ApplicationName

연결의 애플리케이션 이름을 지정합니다. ApplicationName 매개 변수의 기본값은 WSMAN입니다. 원격 엔드포인트의 전체 식별자는 다음과 같은 형식입니다.

<Transport>://<Server>:<Port>/<ApplicationName>

예: http://server01:8080/WSMAN

세션을 호스트하는 IIS(인터넷 정보 서비스)는 이 엔드포인트가 있는 요청을 지정된 애플리케이션에 전달합니다. WSMAN의 이 기본 설정은 대부분의 용도에 적합합니다. 이 매개 변수는 많은 컴퓨터가 Windows PowerShell을 실행하는 한 컴퓨터에 원격 연결을 설정하는 경우에 사용하도록 설계되었습니다. 이 경우 IIS는 효율성을 위해 WS-Management(Web Services for Management)를 호스트합니다.

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

-Authentication

서버에서 사용할 인증 메커니즘을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • Basic- 기본은 사용자 이름과 암호가 서버 또는 프록시에 명확한 텍스트로 전송되는 체계입니다.
  • Default - WS-Management 프로토콜에 의해 구현된 인증 방법을 사용합니다. 기본값입니다.
  • Digest - 다이제스트는 챌린지에 서버 지정 데이터 문자열을 사용하는 챌린지-응답 체계입니다.
  • Kerberos - 클라이언트 컴퓨터와 서버는 Kerberos 인증서를 사용하여 상호 인증합니다.
  • Negotiate - 협상은 인증에 사용할 체계를 결정하기 위해 서버 또는 프록시와 협상하는 챌린지 응답 체계입니다. 예를 들어 이 매개 변수 값을 사용하면 협상을 통해 Kerberos 프로토콜 또는 NTLM이 사용되는지 여부를 확인할 수 있습니다.
  • CredSSP - 사용자가 자격 증명을 위임할 수 있는 CredSSP(자격 증명 보안 지원 공급자) 인증을 사용합니다. 이 옵션은 한 원격 컴퓨터에서 실행되지만 다른 원격 컴퓨터에서 데이터를 수집하거나 다른 원격 컴퓨터에서 추가 명령을 실행하는 명령을 위해 설계되었습니다.

주의

CredSSP는 로컬 컴퓨터에서 원격 컴퓨터로 사용자 자격 증명을 위임합니다. 이렇게 하면 원격 작업의 보안 위험이 증가합니다. 원격 컴퓨터가 손상된 경우 자격 증명이 원격 컴퓨터에 전달되면 자격 증명이 네트워크 세션을 제어하는 데 사용될 수 있습니다.

Type:AuthenticationMechanism
Aliases:auth, am
Accepted values:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

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

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

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

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

-ComputerName

관리 작업을 실행할 컴퓨터를 지정합니다. 값은 정규화된 do기본 이름, NetBIOS 이름 또는 IP 주소일 수 있습니다. 로컬 컴퓨터 이름을 사용하거나 localhost를 사용하거나 점(.)을 사용하여 로컬 컴퓨터를 지정합니다. 로컬 컴퓨터가 기본값입니다. 원격 컴퓨터가 사용자와 다른 do기본 있는 경우 정규화된 do기본 이름을 사용해야 합니다. 이 매개 변수의 값을 cmdlet으로 파이프할 수 있습니다.

Type:String
Aliases:cn
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionURI

연결 엔드포인트를 지정합니다. 이 문자열의 형식은 다음과 같습니다.

<Transport>://<Server>:<Port>/<ApplicationName>

다음 문자열은 이 매개 변수에 대해 올바른 형식의 값입니다.

http://Server01:8080/WSMAN

URI는 정규화되어야 합니다.

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

-Credential

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

Type:PSCredential
Aliases:cred, c
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OptionSet

요청의 특성을 수정하거나 구체화하기 위한 서비스로의 스위치 집합을 지정합니다. 이러한 스위치는 서비스 관련이므로 명령줄 셸에서 사용되는 스위치와 유사합니다. 원하는 수의 옵션을 지정할 수 있습니다.

다음 예제에서는 a, b 및 c 매개 변수의 값 1, 2 및 3을 전달하는 구문을 보여 줍니다.

-OptionSet @{a=1;b=2;c=3}

Type:Hashtable
Aliases:os
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Port

클라이언트가 WinRM 서비스에 연결할 때 사용할 포트를 지정합니다. 전송이 HTTP인 경우 기본 포트는 80입니다. 전송이 HTTPS인 경우 기본 포트는 443입니다.

HTTPS를 전송으로 사용하는 경우 ComputerName 매개 변수 값이 서버의 CN(인증서 일반 이름)과 일치해야 합니다. 그러나 SkipCNCheck 매개 변수가 SessionOption 매개 변수의 일부로 지정된 경우 서버의 인증서 일반 이름은 서버의 호스트 이름과 일치할 필요가 없습니다. SkipCNCheck 매개 변수는 신뢰할 수 있는 컴퓨터에만 사용해야 합니다.

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

-SessionOption

WS-Management 세션에 대한 확장 옵션을 지정합니다. cmdlet을 사용하여 만든 SessionOption 개체를 New-WSManSessionOption 입력합니다. 사용할 수 있는 옵션에 대한 자세한 내용은 .를 입력합니다 Get-Help New-WSManSessionOption.

Type:SessionOption
Aliases:so
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

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

입력

None

개체를 이 cmdlet으로 파이프할 수 없습니다.

출력

None

이 cmdlet은 출력을 반환하지 않습니다.

참고

WS-Management 세션을 만들지 않고 원격 컴퓨터에서 관리 명령 또는 쿼리 관리 데이터를 실행할 수 있습니다. 의 ComputerName 매개 변수 Invoke-WSManAction사용하여 이 작업을 수행할 수 있습니다Get-WSManInstance. ComputerName 매개 변수를 사용하는 경우 Windows PowerShell은 단일 명령에 사용되는 임시 연결을 만듭니다. 명령이 실행되면 연결이 닫힙니다.