3단계: 클래스의 settings.xml 파일에 새 태그를 만들고 등록할 속성(SDK에 있는 태그)을 입력합니다. 기존 예제에 대한 settings.xml 파일을 참조하십시오. 이 문서에서는 WMI 네임스페이스의 수백 개의 클래스에 대한 속성 값을 집계하는 데 사용할 수 있는 간단한 프레임워크를 소개합니다. 첨부 된 예제에서는 네트워크 클라이언트 CDRom 디스크 드라이브의 속성 을 개명하는 것에서 USB 호스트 컨트롤러에 이르기까지 모든 것에 사용되는 30 개 이상의 하드웨어 클래스를 포함시켰습니다. 매우 상세한 하드웨어 정보를 위해 네트워크의 컴퓨터를 검색할 때 거리의 어떤 것도 WMI와 비교할 수 없습니다. 이 게시물을 작성할 때 나는 내 PC에서 실행 196 서비스를했다. 다음은 Adobe Flash Player 업데이트 서비스의 출력 예: 2단계: WMI 클래스(예: Win32_Printer)와 이름이 같은 클래스를 만들고 다음 코드를 붙여넣습니다. 먼저 WMI에서 아무 것도 가져오려면 WMI 리포지토리에 연결해야 합니다. 사용할 기본 네임스페이스는 일반적으로 “rootcimv2″입니다. 또한 .NET과 마찬가지로 해당 클래스의 클래스와 인스턴스가 있습니다. 클래스 자체는 해당 클래스의 특정 인스턴스에서 제공할 수 있는 정보 유형만 정의합니다.

인스턴스에는 정보 자체가 포함됩니다. 이를 보다 완벽하게 이해하기 위해 몇 가지 예제를 살펴보겠습니다. 이제 예제에서 본 속성에서 정보를 얻기 위해 위의 두 예제를 코딩합니다. 예제 1부터 시작합니다. 이 예제에서 “Win32_LogicDisk”는 살펴볼 클래스입니다. Win32_Volume과 같은 이전 클래스를 사용하여 이전 인터페이스를 사용하는 여러 예제를 찾았지만 MSFT_Volume과 같은 새 클래스의 좋은 예제는 거의 없습니다. 두 번째 예제는 단일 기본 인스턴스에서 운영 체제 정보를 얻기 위해 다음과 같이 코딩됩니다. 이 예제에서 “Win32_OperatingSystem”은 살펴볼 클래스입니다. TechNet의 다음 블로그 게시물을 기반으로 다음 C# 코드 예제에서는 CimCredentials 및 WSManSessionOptions를 사용하여 원격 연결에서 자격 증명을 설정하는 방법을 설명합니다.

WMI (Windows 관리 계측) 공급자는 네이티브 .NET 클래스보다 상당히 느리며 .NET 클래스로이 작업을 수행하는 것이 더 쉬울 수 있지만 이 와 같은 일과 놀라움을 주는 많은 상용 솔루션이 있습니다. 그들은 그것을 위해 WMI를 사용합니다.