로컬 컴퓨터에서 데이터 가져오기

Windows 원격 관리 및 WS-Management 프로토콜은 원격 통신용으로 명시적으로 설계되었지만 로컬 컴퓨터에서 세션을 설정하는 것이 가장 간단한 경우입니다. 일부 스크립트는 로컬 컴퓨터와 원격 컴퓨터의 액세스 데이터가 필요할 수 있습니다.

**WinRM 버전 2.0: **

모든 작업은 원격으로 간주되며 작업을 수행하기 전에 WinRM 서비스를 시작해야 합니다. 원격 대상을 지정하지 않으면 localhost가 기본적으로 사용되며 모든 작업이 로컬 WinRM 서비스로 전송됩니다. WinRM 서비스를 시작하는 방법에 대한 자세한 내용은 Windows 원격 관리를 위한 설치 및 구성을 참조하세요.

로컬 작업에 WinRM 서비스를 사용하는 경우 다음 요소를 고려해야 합니다.

  • 로컬 WinRM 구성은 관리자만 읽을 수 있습니다.
  • WMI 네임스페이스에는 원격 사용 권한 집합이 있어야 합니다. 자세한 내용은 원격 WMI 연결 보안을 참조하세요.
  • WinRM 수신기 가 만들어지지 않은 경우 WinRM 서비스는 포트 47001에서 로컬 요청을 수신 대기합니다.

모든 WinRM 스크립트는 세션 개체를 만들어 컴퓨터에 대한 세션 또는 연결을 설정하여 시작해야 합니다. 세션을 만든 후 Session.Enumerate 또는 Session.Invoke와 같은 Session 개체 메서드를 사용하여 데이터를 가져오 거나 메서드를 실행할 수 있습니다.

세션 생성은 WMI(Windows Management Instrumentation) 네임스페이스에 연결하는 것과 비슷합니다. 세션은 기본적으로 SOAP 메시지 및 WS-Management 프로토콜을 통해 데이터를 보내고 받을 수 있는 계층입니다. 자세한 내용은 WS-Management 프로토콜을 참조하세요.

WSMan.CreateSession 메서드를 호출하여 Session 개체를 만들면 로컬 WinRM에 연결하는 세션이 시작됩니다.

WSMan 세션을 만들고 데이터를 가져오려면

  1. WSMan 개체를 만듭니다.

    Set objWsman = CreateObject("Wsman.Automation")
    
  2. WSMan.CreateSession 메서드를 호출하여 세션을 만듭니다. 이 세션은 로그온 사용자 이름 및 암호로 실행되며 로컬 WinRM을 통해 데이터를 가져올 수 있습니다.

    Set objSession = objWsman.CreateSession()
    
  3. 관리하려는 리소스 또는 데이터를 가져올 리소스를 식별하는 리소스URI를 만듭니다. URI 서식 지정에 대한 자세한 내용은 리소스 URI를 참조하세요. 이 리소스 URI는 WMI Win32_Service 클래스의 특정 instance Winmgmt 서비스에 대한 것입니다. 자세한 내용은 Windows 원격 관리 및 WMI를 참조하세요.

    strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
    
  4. 리소스 URI를 사용하여 데이터를 얻거나 열거하는 세션 메서드를 호출합니다. 자세한 내용은 WinRM 스크립팅 API를 참조하세요.

    strResponse = objSession.Get(strResource)
    Wscript.Echo strResponse
    
  5. 다른 컴퓨터에서 데이터를 가져오거나 관리하거나 다른 인증 방법을 사용하려면 원격 컴퓨터에서 데이터 가져오기를 참조하세요.

다음 VBScript 코드 예제에서는 "Winmgmt"라는 WMI Win32_Service 특정 instance 가져오는 전체 스크립트를 보여 줍니다.

Set objWsman = CreateObject("Wsman.Automation")
Set objSession = objWsman.CreateSession()
strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
strResponse = objSession.Get(strResource)
Wscript.Echo strResponse

다음 VBScript 코드 예제에서는 데이터 변환이 포함된 전체 스크립트를 보여줍니다. 자세한 내용은 WinRM 스크립트에서 XML 출력 표시를 참조하세요.

Set objWsman = CreateObject("Wsman.Automation")
Set objSession = objWsman.CreateSession()
strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service?Name=Winmgmt"
strResponse = objSession.Get(strResource)
Set xmlFile = CreateObject("MSXml.DOMDocument")
Set xslFile = CreateObject("MSXml.DOMDocument")
xmlFile.LoadXml(strResponse)
xslFile.Load("WsmTxt.xsl")
Wscript.Echo xmlFile.TransformNode(xslFile)

Windows 원격 관리 정보

Windows 원격 관리 사용

Windows 원격 관리 참조