다음을 통해 공유


WMI 작업 추적

Windows Vista부터 WMI 서비스는 WMI 로그 파일사용하지 않습니다. 대신 ETW(Windows용 이벤트 추적) 사용하며 이벤트는 이벤트 뷰어 또는 Wevtutil 명령줄 도구를 통해 사용할 수 있습니다.

이 항목에서는 다음 섹션에 대해 설명합니다.

이벤트 뷰어를 통해 WMI 이벤트 가져오기

WMITracing.log 파일에는 WMI가 추적하는 이벤트가 포함됩니다. 그러나 이진 파일입니다. 이러한 이벤트를 사용자가 읽을 수 있는 형식으로 보려면 이벤트 뷰어사용합니다.

기본적으로 WMI 이벤트는 추적되지 않습니다. 이 절차에서는 이벤트 뷰어 사용하여 WMI 이벤트 추적을 사용하도록 설정하고 WMI 이벤트를 찾는 방법을 설명합니다. wevtutil 명령줄 도구를 통해 동일한 작업을 수행할 수 있습니다.

이벤트 뷰어에서 WMI 이벤트를 보려면

  1. 이벤트 뷰어여십시오. 보기 메뉴에서 분석 및 디버그 로그 표시를 클릭합니다. 애플리케이션 및 서비스 로그에서 Microsoft | Windows | WMI 활동의 추적 채널 로그를 찾으십시오.
  2. 추적 로그를 마우스 오른쪽 버튼으로 클릭하고 로그 속성을 선택하십시오. 로깅 사용 확인란을 클릭하여 WMI 이벤트 추적을 시작합니다. 채널에 대한 자세한 내용은 Windows 이벤트 로그 이벤트 로그 및 채널을 참조하세요.
  3. WMI 이벤트가 WMI 작업대한 이벤트 창에 나타납니다. 목록에서 이벤트를 두 번 클릭하여 자세한 정보를 확인합니다. XML 보기 또는 친숙한 보기 형식으로 이벤트를 볼 수 있습니다.

이벤트 ID 필드에는 다음 정보가 포함된 값이 표시됩니다.

이벤트 1

특정 작업에 대한 이벤트 시퀀스의 시작입니다. 각 시퀀스에 대해 한 번 발생합니다.

이벤트 1의 이벤트 필드는 다음과 같습니다.

  • GroupOperationID 특정 클라이언트에 대해 보고된 모든 이벤트에 사용되는 고유 식별자입니다.
  • OperationId 작업 순서를 나타냅니다.
  • 작업 WMI에 대한 연결 또는 요청을 지정합니다.
  • 사용자 스크립트를 실행하거나 CIM Studio를 통해 WMI에 요청하는 계정을 나타냅니다.
  • 네임스페이스 연결이 만들어진 WMI 네임스페이스를 표시합니다.

예를 들어 스크립트는 Win32_Service같은 WMI 클래스의 모든 인스턴스를 요청할 수 있습니다. 첫 번째 작업은 WMI에 대한 연결일 수 있습니다.

"이벤트 2"

작업을 구성하는 이벤트입니다. 시퀀스에서 하나 이상의 발생이 존재합니다.

이벤트 2의 이벤트 필드는 다음과 같습니다.

  • GroupOperationID 이벤트가 발생하는 시퀀스를 나타냅니다.
  • GroupOperationID 이벤트가 발생하는 시퀀스를 나타냅니다.
  • ProviderName 데이터를 제공하는 공급자의 이름을 나타냅니다.
  • 경로 개체의 WMI 경로입니다.

예를 들어 작업은 Win32_Service열거형일 수 있습니다.

이벤트 3

특정 작업에 대한 이벤트 시퀀스의 끝입니다. 각 시퀀스에 대해 한 번 발생합니다.

GroupOperationID만 표시됩니다.

명령 프롬프트에서 WMI 추적 활성화

Wevtutil 명령줄 도구를 통해 WMI 이벤트 추적을 사용하도록 설정할 수도 있습니다. 다음 명령을 사용합니다. Wevtutil.exe sl Microsoft-Windows-WMI-Activity/Trace /e:true. WMI 이벤트 원본은 Microsoft-Windows-WMI입니다. Wevtutil.exe에 대한 자세한 내용은 Windows 이벤트 로그를 참조하세요.

WPP 기반 WMI 추적 사용

Windows Vista부터 시작하는 Windows 운영 체제에서 WMI는 부팅 프로세스 중에 활성 추적 채널을 만듭니다. 채널 이름이 WMI_Trace_Session. 오류만 채널에 기록됩니다.

Windows WPP(소프트웨어 추적 전처리기)는 이진 파일에 정보를 기록합니다. 파일을 읽으려면 먼저 파일을 읽을 수 있는 텍스트 형식으로 변환해야 합니다. WDK(Windows 드라이버 키트) tracefmt.exe이라는 도구를 사용하여 번역을 수행합니다. 이 도구에는 연결된 일부 파일에 저장된 정보가 필요합니다. 파일은 %SystemRoot%\System32\wbem\tmf 디렉터리에 있으며 .tmf 파일 이름 확장명이 있습니다. 이 도구에는 실제로 단일 .tmf 파일이 필요합니다. 모든 .tmf 파일을 다른 .tmf 파일에 연결하여 단일 파일을 만듭니다. .tmf 파일에 대한 자세한 내용은 추적 메시지 형식 파일참조하세요.

tracelog.exe 및 tracefmt.exe 명령줄 도구를 가져오는 WDK(Windows 드라이버 키트) 설치한 후 다음 단계를 수행하여 WPP 기반 WMI 추적을 수집합니다.

WPP 기반 WMI 추적 보려면

  1. 단일 .tmf 파일을 만들려면 관리자 권한 명령 프롬프트 창을 열고 %SystemRoot%\System32\wbem\tmf 디렉터리로 이동합니다.

  2. 형식 복사 /y %SystemRoot%\System32\wbem\tmf\*.tmf %SystemRoot%\System32\wbem\tmf\wmi.tmf. 그러면 다른 모든 .tmf 파일의 내용이 포함된 wmi.tmf 파일이 만들어집니다.

  3. tracelog -flush WMI_Trace_Session입력합니다. 그러면 디스크의 WPP 버퍼가 초기화됩니다.

  4. type set TRACE_FORMAT_PREFIX = [%9!d!]%8!04X!.%3!04X!.%3!04X!::%4!s! [%1!s!](%!COMPNAME!:%!FUNC !:%2!s!). tracefmt 도구는 각 추적 메시지에 몇 가지 기본 정보를 추가합니다. TRACE_FORMAT_PREFIX 환경 변수를 설정하여 포함되는 정보를 구성할 수 있습니다. 사용되는 구문에 대한 자세한 내용은 추적 메시지 접두사참조하세요.

  5. tracefmt -tmf %systemroot%\system32\wbem\tmf\wmi.tmf -o OUTPUT.TXT %systemroot%\system32\wbem\logs\WMITracing.log입력합니다. 이진 형식에서 읽을 수 있는 텍스트 형식으로 변환을 수행합니다.

  6. 메모장 %systemroot%\system32\wbem\tmf\OUTPUT.TXT를 입력하십시오. 그러면 메모장에서 추적 파일이 열립니다.

다음은 수행해야 할 수 있는 다른 WPP 관련 작업입니다.

WPP 기반 WMI 추적을 중지하려면

  • tracelog -stop WMI_Trace_Session을 입력합니다.

WPP 기반 WMI 추적을 시작하려면

  • tracelog -start WMI_Trace_Session -guid #1FF6B227-2CA7-40f9-9A66-980EADAA602E -rt -level 5 -flag 0x7 -f MYTRACE.BIN

Windows Vista: 기본적으로 WPP 기반 WMI 추적은 오류 메시지만 포함하는 수준 2로 설정됩니다. 정보 메시지도 포함하려면 수준을 4로 설정합니다. WMI의 모든 영역은 기본적으로 추적됩니다. 추적할 수 있는 세 가지 고유 영역은 Core(flag=0x1), ESS(flag=0x2) 및 Prov(flag=0x4)입니다. 위의 시작 명령에서 플래그 0x7 세 영역을 모두 추적합니다.

Windows 7: 기본적으로 WPP 기반 WMI 추적을 사용하지 않도록 설정하고 수준 0으로 설정합니다. WPP 기반 WMI 추적을 사용하려면 이 기능을 사용하도록 설정하고 오류 메시지의 경우 수준 2로 설정하거나 오류 메시지와 정보 메시지 모두에 대해 수준 4로 설정해야 합니다.

모든 WPP 추적 세션을 나열하려면

  • tracelog -l입력합니다.

WMI WPP 추적 세션에 대한 정보를 나열하려면

  • 입력 tracelog -l | findstr /i "wmi_trace".

WMI WPP 추적 세션 매개 변수를 보려면

  • tracelog -q WMI_Trace_Session를 입력하십시오.

WMI 문제 해결

WMI 로그 파일