다음을 통해 공유


WMI 사용

클라이언트 애플리케이션 및 스크립트의 WMI를 사용할 수 있습니다. 관리 작업을 쉽게 검색하고 수행할 수 있는 인프라를 제공합니다. 또한 고유한 WMI 공급자를 만들어 가능한 관리 작업 집합에 추가할 수 있습니다.

참고

애플리케이션 및 스크립트를 작성하기 위한 차세대 버전의 WMI는 Windows MI(Management Infrastructure)를 통해 사용할 수 있습니다. 자세한 내용은 MI 공급자 및 클라이언트를 참조하세요.

이 섹션에서 설명하는 항목은 다음과 같습니다.

WMI에서 데이터 가져오기

다음 절차에서는 스크립트 또는 애플리케이션을 작성하여 WMI에서 데이터를 가져오는 방법을 설명합니다.

스크립트 또는 애플리케이션을 작성하여 WMI에서 데이터를 가져오는 방법

  1. 사용할 언어를 결정합니다. 스크립팅에 대한 자세한 내용은 WMI 스크립트 만들기를 참조하세요. C++에 관한 자세한 내용은 C++를 사용하여 WMI 애플리케이션 만들기를 참조하세요. C# 또는 WMI .NET에 대한 자세한 내용은 WMI .NET 개요를 참조하세요.

    여러 언어로 WMI 데이터를 보거나 조작할 수 있습니다. 다음 표에는 스크립팅 및 애플리케이션 언어를 사용하여 데이터를 가져오는 방법을 설명하는 항목이 나와 있습니다.

애플리케이션 언어 항목
VBScript(Visual Basic Scripting Edition), Perl 등 Microsoft ActiveX 스크립트 호스팅으로 작성된 스크립트
WMI용 스크립팅 API
WMI 스크립트 만들기부터 시작합니다.
스크립트 코드 예제는 스크립트 및 애플리케이션에 대한 WMI 작업 및 TechNet ScriptCenter 스크립트 리포지토리를 참조하세요.
Windows PowerShell
Windows PowerShell 시작.
WMI PowerShell Cmdlets(예: Get-WmiObject)
Visual Basic 응용 프로그램
WMI용 스크립팅 API
ASP(Active Server Pages)
WMI용 스크립팅 API
WMI용 Active Server Pages 만들기부터 시작합니다.
C++ 응용 프로그램
WMI용 COM API
C++를 사용하여 WMI 애플리케이션 만들기WMI C++ 애플리케이션 예제(예제 포함)부터 시작합니다.
C#, Visual Basic .NET 또는 J#으로 작성된 .NET Framework 애플리케이션
Microsoft.Management.Infrastructure 네임스페이스의 클래스입니다.
참고: System.Management 는 WMI에 대한 관리 코드를 다루는 원래 네임스페이스였습니다. 그러나 System.Management의 기본 기술은 일반적으로 Microsoft.Management.InfrastructureMicrosoft보다 느리고 스케일링도 되지 않습니다. 따라서 새 프로젝트에는 System.Management를 사용하지 않는 것이 좋습니다. (자세한 내용은 System.Management는 WMI .NET 개요를 참조하세요.)
  1. 원격 컴퓨터에 대한 연결을 확인합니다.

    자세한 내용은 원격 컴퓨터에서 WMI에 연결을 참조하세요.

  2. 원격 컴퓨터에서 WMI에 연결하려면 WMI 보안 유지 관리에 설명된 대로 올바른 보안 설정이 필요합니다. 다음 표에는 스크립팅 및 애플리케이션 언어를 사용하여 보안 설정을 구성하는 방법을 설명하는 항목이 명시되어 있습니다.

    언어 항목
    모든 언어로 된 스크립트, Visual Basic 애플리케이션
    VBScript를 사용하여 기본 프로세스 보안 수준 설정
    ASP(Active Server Pages)
    WMI ASP 스크립팅에 대한 IIS 5 및 이후 버전 구성
    C++
    C++를 사용하여 기본 프로세스 보안 수준 설정IWbemServices 및 기타 프록시에서 보안 설정
  3. WMI에 연결한 후 쿼리 및 열거형을 통해 데이터를 가져올 수 있습니다.

    자세한 내용은 클래스 및 인스턴스 정보 조작WMI를 사용하여 쿼리를 참조하세요.

  4. 레지스트리 데이터는 WMI를 통해 사용할 수 있으며 새 키와 값을 만들거나 기존 키와 값을 수정할 수 있습니다.

    자세한 내용은 시스템 레지스트리 수정을 참조하세요.

  5. 시스템 재부팅 사이에 일시적으로 또는 영구적으로 WMI를 통해 이벤트 알림을 구독할 수 있습니다.

    자세한 내용은 이벤트 모니터링WMI 이벤트 수신을 참조하세요.

  6. 시스템의 성능 카운터 데이터는 WMI를 통해 사용할 수 있습니다.

    시스템 성능 라이브러리 카운터는 WMI 클래스로 변환됩니다. 자세한 내용은 성능 데이터 모니터링을 참조하세요.

  7. 스크립트 및 애플리케이션에 대한 WMI 작업은 WMI를 사용하여 많은 관리 작업을 수행하는 방법을 설명합니다.

WMI에 데이터 제공

다음 절차에서는 공급자를 작성하여 WMI에 데이터를 제공하는 방법을 설명합니다.

공급자를 작성하여 WMI에 데이터를 제공하는 방법

  • 작성할 공급자 유형을 결정합니다.

    VBScript에서는 WMI 공급자를 작성할 수 없습니다. 그러나 다른 몇 가지 방법으로도 WMI COM 공급자를 작성할 수 있습니다.

    • Visual Studio에서 WMI ATL 마법사 사용

      이 방법을 통해 관리되지 않는 COM 공급자가 만들어집니다. 자세한 내용은 WMI 인스턴스 공급자 추가WMI 이벤트 공급자 추가를 참조하세요.

    • 모든 통합 개발 환경에서 직접 COM을 사용합니다.

      이 방법을 통해 관리되지 않는 COM 공급자가 만들어집니다.

    • .NET Framework의 WMI를 사용하여 관리 코드 공급자를 만듭니다.

      이 방법을 통해 관리 코드 공급자가 만들어집니다. 관리 코드 공급자는 어떤 .NET Framework 언어로도 작성할 수 있으며, WMI COM 공급자 작성보다 간단하고, Win32 클래스 같은 WMI CIM 기반 클래스에서 데이터를 가져올 수 있습니다. 그러나 .NET Framework WMI 공급자에는 몇 가지 제한 사항이 있습니다. 자세한 내용은 WMI를 사용하여 애플리케이션 관리를 참조하세요.

    • 공급자 프레임워크 클래스를 사용하지 않는 것이 좋습니다.

      공급자 프레임워크는 COM을 직접 사용하거나 .NET Framework 공급자를 사용하여 WMI ATL 마법사로 대체되었습니다. 공급자 프레임워크 클래스로 WMI COM 공급자를 만드는 것은 더 이상 권장되지 않습니다. 다음 표에는 COM 또는 .NET Framework 공급자를 사용하는 방법을 설명하는 항목이 명시되어 있습니다.

    공급자 항목
    WMI와 동일한 프로세스의 COM 공급자
    WMI에 데이터 제공
    COM과 분리된 공급자
    애플리케이션에 공급자 통합
    C# 또는 Visual Basic.NET의 .NET Framework 공급자
    WMI를 사용하여 애플리케이션 관리

WMI의 중요 작업

다음 항목에서는 WMI를 사용하여 엔터프라이즈 구성 요소를 모니터링하고 제어하는 방법에 대한 정보를 제공합니다.

항목 설명
스크립트 및 애플리케이션에 대한 WMI 작업
원격 컴퓨터에 대해 새 프린터 연결을 추가하거나 컴퓨터에 설치된 모든 핫픽스를 찾는 등 일반적인 컴퓨터 및 네트워크 관리 작업을 수행하는 스크립트 및 애플리케이션에서 사용할 올바른 WMI 클래스 및 절차를 찾는 방법을 설명합니다.
WMI 애플리케이션 또는 스크립트 만들기
ActiveX 개체와 함께 작동하는 VBScript 또는 Perl과 같은 모든 스크립팅 언어는 WMI 데이터에 액세스할 수 있습니다. 애플리케이션은 C++에서, WMI용 COM API 또는 Visual Basic에서, Wbemdisp.tlb 형식 라이브러리WMI용 스크립팅 API를 사용하여 WMI에 액세스할 수 있습니다.
원격 컴퓨터에서 WMI에 연결
스크립트, 애플리케이션 및 공급자가 원격 컴퓨터에서 WMI에 대한 연결을 설정하여 데이터를 가져오거나 하드웨어 및 소프트웨어를 제어하는 방법을 설명합니다.
Windows PowerShell을 사용하여 원격 컴퓨터에서 WMI에 연결
Windows PowerShell로 원격 컴퓨터에서 WMI에 대한 연결을 설정하여 데이터를 가져오거나 하드웨어 및 소프트웨어를 제어하는 방법을 설명합니다.
이벤트 모니터링
임시 또는 영구 WMI 이벤트 소비자를 만들어 이벤트 알림을 받는 방법을 설명합니다.
WMI에 데이터 제공
WMI는 동적 관리 데이터를 공급자로부터 가져와서 클라이언트 스크립트 및 애플리케이션에 제공합니다.
64비트 컴퓨터에서 데이터 가져오기 및 제공
기본이 아닌 공급자에 액세스하는 방법 및 64비트 시스템의 공급자 작성자에 대한 고려 사항을 설명합니다.