다음을 통해 공유


WMI 아키텍처

WMI는 컴퓨터 시스템, 네트워크 또는 엔터프라이즈에서 관리 데이터를 가져오는 모든 로컬 또는 원격 애플리케이션이나 스크립트에 균일한 인터페이스를 제공합니다. 균일한 인터페이스는 WMI 클라이언트 애플리케이션 및 스크립트가 다양한 운영 체제 API(애플리케이션 프로그래밍 인터페이스)를 호출할 필요가 없도록 설계되었습니다. 스크립트 또는 Visual Basic 애플리케이션과 같은 자동화 클라이언트에서는 많은 API를 호출할 수 없습니다. 다른 API는 원격 컴퓨터를 호출하지 않습니다.

WMI에서 데이터를 가져오려면 WMI 클래스에 액세스하는 클라이언트 스크립트 또는 애플리케이션을 작성하거나 WMI 공급자를 작성하여 WMI에 데이터를 제공합니다. 자세한 내용은 WMI 사용을 참조하세요.

WMI의 개체, 소비자 및 인프라

다음 다이어그램은 WMI 인프라와 WMI 공급자 및 관리 개체 간의 관계를 보여 주며, WMI 인프라와 WMI 소비자 간의 관계도 보여 줍니다.

WMI 인프라, WMI 공급자 및 관리 개체 간의 관계

WMI 구성 요소

다음 목록에서는 주요 WMI 구성 요소에 대해 설명합니다.

  • 관리 개체 및 WMI 공급자

    WMI 공급자는 WMI에 대해 하나 이상의 관리 개체를 모니터링하는 COM 개체입니다. 관리 개체는 하드 디스크 드라이브, 네트워크 어댑터, 데이터베이스 시스템, 운영 체제, 프로세스 또는 서비스와 같은 논리적 또는 물리적 엔터프라이즈 구성 요소입니다.

    드라이버와 마찬가지로 공급자는 관리 개체의 데이터를 WMI에 제공하고 WMI에서 관리 개체로 오는 메시지를 처리합니다. WMI 공급자는 DLL 파일과 공급자가 데이터를 반환하고 작업을 수행하는 클래스를 정의하는 MOF(Managed Object Format) 파일로 구성됩니다. WMI C++ 애플리케이션과 같은 공급자는 WMI용 COM API를 사용합니다. 자세한 내용은 WMI에 데이터 제공을 참조하세요.

    공급자의 예로는 사전 설치된 레지스트리 공급자가 있으며 이 공급자는 시스템 레지스트리의 데이터에 액세스합니다. 레지스트리 공급자에는 여러 메서드가 있지만 속성은 없는 하나의 WMI 클래스StdRegProv가 있습니다. Win32 공급자와 같은 다른 사전 설치된 공급자에는 일반적으로 속성이 많지만 Win32_Process 또는 Win32_LogicalDisk 같은 메서드는 거의 없습니다. 레지스트리 공급자 DLL 파일인 Stdprov.dll에는 클라이언트 스크립트 또는 애플리케이션에서 요청할 때 데이터를 동적으로 반환하는 코드가 포함되어 있습니다.

    WMI MOF 및 DLL 파일은 Winmgmt.exeMofcomp.exe 같은 WMI 명령줄 도구와 함께 %WINDIR%\System32\Wbem에 있습니다. Win32_LogicalDisk 같은 공급자 클래스는 MOF 파일에 정의된 다음 시스템 시작 시 WMI 리포지토리로 컴파일됩니다.

  • WMI 인프라

    WMI 인프라는 WMI 서비스(winmgmt)로 알려진 Microsoft Windows 운영 체제 구성 요소입니다. WMI 인프라에는 WMI Core와 WMI 리포지토리의 두 가지 구성 요소가 있습니다.

    WMI 리포지토리는 WMI 네임스페이스로 구성됩니다. WMI 서비스는 시스템 시작 시 root\default, root\cimv2 및 root\subscription 같은 일부 네임스페이스를 만들고 Win32 클래스, WMI 시스템 클래스 등의 기본 클래스 정의 집합을 미리 설치합니다. 시스템에 있는 나머지 네임스페이스는 운영 체제 또는 제품의 다른 부분에 대한 공급자가 만듭니다. 자세한 내용과 대부분의 운영 체제 버전에서 찾을 수 있는 WMI 공급자 목록은 WMI 공급자를 참조하세요.

    WMI 서비스는 공급자, 관리 애플리케이션 및 WMI 리포지토리 간의 중개자 역할을 합니다. 개체에 대한 정적 데이터만 공급자가 정의한 클래스와 같이 리포지토리에 저장됩니다. WMI는 클라이언트가 요청할 때 공급자로부터 대부분의 데이터를 동적으로 가져옵니다. 공급자로부터 이벤트 알림을 받도록 구독을 설정할 수도 있습니다. 자세한 내용은 이벤트 모니터링을 참조하세요.

  • WMI 소비자

    WMI 소비자는 WMI 인프라와 상호 작용하는 관리 애플리케이션 또는 스크립트입니다. 관리 애플리케이션은 WMI에 대한 COM API 또는 WMI에 대한 스크립팅 API를 호출하여 데이터를 쿼리하거나, 열거하거나, 공급자 메서드를 실행하거나, 이벤트를 구독할 수 있습니다. 디스크 드라이브 또는 서비스와 같이 관리 개체에 사용할 수 있는 유일한 데이터 또는 작업은 공급자가 제공하는 데이터입니다.

WMI 사용

WMI 공급자

WMI 애플리케이션 또는 스크립트 만들기

스크립트 및 애플리케이션에 대한 WMI 작업

WMI에 데이터 제공

WMI 클래스

이벤트 모니터링

메서드 호출