다음을 통해 공유


WMI 활동 추적

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

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

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

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

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

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

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

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

이벤트 1

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

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

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

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

이벤트 2

작업을 구성하는 이벤트입니다. 시퀀스에서 한 번 이상 발생입니다.

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

  • GroupOperationID는 이벤트가 발생하는 시퀀스를 나타냅니다.
  • GroupOperationID는 이벤트가 발생하는 시퀀스를 나타냅니다.
  • ProviderName은 데이터를 제공하는 공급자의 이름을 나타냅니다.
  • Path는 개체의 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 파일에 대한 자세한 내용은 추적 메시지 형식 파일을 참조하세요.

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

WPP 기반 WMI 추적을 보려면

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

  2. copy /y %SystemRoot%\System32\wbem\tmf\*.tmf %SystemRoot%\System32\wbem\tmf\wmi.tmf를 입력합니다. 이렇게 하면 다른 모든 .tmf 파일의 내용이 포함된 wmi.tmf 파일이 만들어집니다.

  3. tracelog -flush WMI_Trace_Session을 입력합니다. 이렇게 하면 디스크의 WPP 버퍼가 플러시됩니다.

  4. 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. notepad %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)입니다. 위의 시작 명령에서 flag 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 로그 파일