WMI 클라이언트 애플리케이션 문제 해결

WMI에는 WMI 공급자를 사용하는 문제 해결 클라이언트 애플리케이션을 위한 클래스 집합이 포함되어 있습니다. 문제 해결 이벤트 클래스는 WMI 이벤트 클래스와 결합되므로 캡처된 문제 해결 이벤트의 로그를 사용하여 애플리케이션 실행을 추적할 수 있습니다.

다음 목록에는 이벤트 클래스 문제 해결 예제가 포함되어 있습니다.

다음 절차는 애플리케이션 실행 문제를 해결하는 방법을 보여 줍니다.

WMI 문제 해결을 설정하는 방법

  1. WMI 로깅 이벤트 소비자를 사용하도록 MOF 파일을 만들고 컴파일합니다.
  2. 클라이언트 애플리케이션을 실행합니다.
  3. 모든 공급자 작업 및 실패 이벤트에 대한 문제 해결 로그 파일을 보고 로그를 분석하여 발생하는 클라이언트 문제를 진단합니다.

또 다른 문제 해결 방법은 root\cimv2 네임스페이스에 MSFT_Providers를 열거하여 현재 컴퓨터 캐시에 있는 공급자 목록을 보는 것입니다. 이 클래스에는 디버깅 또는 설정 목적으로 공급자를 로드하고 언로드할 수 있는 메서드가 있습니다.

다음 코드 예제에서는 WMI 로깅 이벤트 소비자로 부모 이벤트 클래스의 모든 이벤트를 캡처하여 모든 공급자 작업 이벤트를 캡처합니다.

#pragma autorecover
#pragma namespace("\\\\.\\root\\subscription")

instance of __EventFilter as $Filter
{
  Name = "ProviderOperationEvents" ;
  EventNamespace = "root\\cimv2" ;
  Query = "SELECT * FROM MSFT_WmiProvider_OperationEvent" ;
  QueryLanguage = "WQL" ;
} ;

Instance of LogFileEventConsumer as $Consumer
{
  Name = "ProviderOperationEvents" ;
  FileName = "C:\\test.txt" ;
  Text = "Operation - %__TEXT%" ;
} ;

instance of __FilterToConsumerBinding
{
  Filter = $Filter ;
  Consumer = $Consumer ;
  MaintainSecurityContext = TRUE ;
} ;

오류 메시지가 공급자 로드 실패를 나타내는 경우 MSFT_WmiProvider_LoadOperationFailureEvent를 사용하여 오류를 일으킨 공급자를 식별합니다.

WMI 문제 해결

WMI 문제 해결 클래스