그런 다음 후속 네트워크 작업에 사용할 수 있는 Session 개체를 만듭니다.
문법
WSMan.CreateSession( _
[ ByVal connection ], _
[ ByVal flags ], _
[ ByVal connectionOptions ] _
)
매개 변수
-
연결 [in, 선택 사항]
-
IPv4 또는 IPv6을 포함하여 연결할 프로토콜 및 서비스입니다. 연결 정보의 형식은 다음과 같습니다. <전송><주소><접미사>입니다. 예제는 비고를 참조하세요. 연결 정보가 제공되지 않으면 로컬 컴퓨터가 사용됩니다.
-
flags [in, optional]
-
원격 컴퓨터에 연결하기 위해 인증 협상 또는 다이제스트 인증과 같은 인증 방법을 지정하는 세션 플래그입니다. 이러한 플래그는 인코딩 또는 암호화와 같은 다른 세션 연결 정보도 지정합니다. 이 매개 변수는 원격 연결을 위해 __WSManSessionFlags 하나 이상의 플래그를 포함해야 합니다. 자세한 내용은 세션 상수참조하세요. 로컬 컴퓨터에서 WinRM에 연결하려면 플래그 설정이 필요하지 않습니다. 기본값은 WSManFlagUseNegotiate입니다.
자세한 내용은 원격 연결 및 connectionOptions 매개 변수에 대한 인증을 참조하세요.
-
connectionOptions [in, optional]
-
사용자 이름과 암호를 포함하는 ConnectionOptions 개체에 대한 포인터입니다. 기본값은 NULL입니다.
반환 값
그런 다음 로컬 또는 원격 WinRM 작업을 수행하는 데 사용할 수 있는 세션 개체입니다.
비고
CreateSession 메서드는 연결 매개 변수에 대한 플래그, 자격 증명 및 연결 문자열과 같은 매개 변수를 수집하여 Session 개체를 초기화합니다. CreateSession 은 실제로 로컬 또는 원격 컴퓨터에 연결되지 않습니다. 연결을 설정할 수 없는 경우 CreateSession 호출 후 Get 또는 열거와 같은 첫 번째 세션 작업에서 오류가 발생합니다. 이 동작은 원격 컴퓨터의 네임스페이스에 대한 WMI 연결과 다릅니다. 자세한 내용은 Windows 원격 관리 및 WMI 참조하세요.
다음 VBScript 코드 예제는 이 메서드를 호출하는 데 사용됩니다.
Set session = _
wsman.CreateSession("<Transport><Address><Suffix>")
다음 예제에서는 연결 매개 변수에서 연결 정보를 지정하는 데 사용되는 다양한 형식을 보여 줍니다(HTTPS 세션을 < 만들 때 주소> 필드는 서버 컴퓨터 인증서 이름과 일치해야 하며 그렇지 않으면 오류가 발생합니다.)
"https://service"
HTTPS를 사용하여 기본 웹 서비스 위치에 연결합니다.
"https://service.corp.com/websvcs/wsman"
HTTPS를 사용하여 특정 웹 서비스 위치에 연결합니다.
"https://[E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420]"
기본 포트와 함께 HTTPS 및 IPv6을 사용합니다.
"https://[E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420]:9999/wsman"
지정된 포트에서 HTTPS 및 IPv6을 사용합니다.
예시
다음 VBScript 코드 예제에서는 로컬 컴퓨터에 세션을 만듭니다.
Set NewSession = Wsman.CreateSession
다음 VBScript 코드 예제에서는 IP 주소로 식별되는 원격 컴퓨터에 세션을 만듭니다. 이 스크립트는 계정의 사용자 이름과 암호를 제공합니다. WSManFlagCredUserNamePassword 및 WSManFlagUseBasic 플래그가 결합되어 계정이 원격 컴퓨터의 로컬 계정임을 나타냅니다. 세션 만들기에 실패하면 스크립트가 종료됩니다. 스크립트는 상수(예: WSMan.SessionFlagUseBasic)를 반환하는 메서드를 사용합니다.
이 스크립트를 실행하려면 암호화되지 않은 트래픽과 기본 인증을 허용하도록 클라이언트와 서버 모두에 대한 기본 구성 설정을 구성해야 합니다(AllowUnencrypted 가 True 로 설정되고 기본이 True로 설정됨). 자세한 내용은 Windows 원격 관리 설치 및 구성을 참조하십시오.
iFlags = WSMan.SessionFlagUseBasic Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "<username>"
Options.Password = "<password>"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
Options)
다음 VBScript 코드 예제에서 계정은 도메인 계정이며 협상 인증이 사용됩니다. 협상 인증을 사용하면 사용자 이름을
iFlags = WSMan.SessionFlagUseNegotiate Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "MyComputer\<username>"
Options.Password = "<password>"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
Options)
요구 사항
| 요구 사항 | 가치 |
|---|---|
| 지원되는 최소 클라이언트 |
Windows Vista |
| 지원되는 최소 서버 |
Windows Server 2008 |
| 헤더 |
|
| IDL |
|
| 라이브러리 |
|
| 동적 링크 라이브러리 (DLL) |
|