共用方式為


追蹤 WMI 活動

從 Windows Vista 開始,WMI 服務不會使用 WMI 記錄檔。 相反地,它會使用 Windows 事件追蹤 (ETW),而且事件可透過 事件查看器 或 Wevtutil 命令行工具取得。

本主題將討論下列各節:

透過事件查看器取得 WMI 事件

WMITracing.log檔案包含 WMI 追蹤的事件。 不過,這是二進位檔。 若要以人類可讀取的格式查看這些事件,請使用 事件查看器

根據預設,不會追蹤 WMI 事件。 此程式描述如何使用 事件查看器 來啟用 WMI 事件追蹤和尋找 WMI 事件。 您可以透過 wevtutil 命令行工具來執行相同的作業。

在事件查看器中檢視 WMI 事件

  1. 開啟 事件檢視器。 在 [檢視] 功能表上,按一下 [顯示分析和偵錯記錄]。 在 [應用程式和服務記錄] | Microsoft | Windows | WMI 活動 下,找出 WMI 的 追蹤 通道記錄。
  2. 右鍵點擊 追蹤 記錄,然後選取 記錄屬性。 按一下 [啟用日誌記錄] 複選框,以啟動 WMI 事件追蹤。 如需通道的詳細資訊,請參閱 Windows 事件記錄檔中的事件記錄檔和通道
  3. WMI 事件會出現在 WMI-Activity的事件視窗中。 按兩下清單中的事件,以查看詳細資訊。 您可以在 XML 檢視友好檢視 格式中查看事件。

[事件識別碼] 字段會顯示包含下列資訊的值。

事件 1

特定作業的事件序列開始。 每個序列的出現次數為一次。

事件 1 的事件欄位如下:

  • GroupOperationID 是用於特定用戶端所報告之所有事件的唯一標識符。
  • OperationId 表示作業順序。
  • 作業 定義了對 WMI 的連接或要求。
  • 使用者 指的是執行腳本或使用 CIM Studio 向 WMI 發出請求的帳戶。
  • 命名空間 會顯示建立連接的 WMI 命名空間。

例如,文稿可能會要求 WMI 類別的所有實例,例如 Win32_Service。 第一個作業可能為 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) 會記錄二進位檔中的資訊。 若要讀取檔案,您必須先將它轉譯成可讀取的文字格式。 您可以使用 Windows 驅動程式套件 (WDK) 中稱為 tracefmt.exe 的工具來執行翻譯。 此工具需要儲存在一些相關聯檔案中的資訊。 這些檔案位於 %SystemRoot%\System32\wbem\tmf 目錄中,且擴展名為 .tmf。 此工具實際上需要單一 .tmf 檔案 。 您可以將所有 .tmf 檔案串連至另一個 .tmf 檔案,以建立該單一檔案。 如需 .tmf 檔案的詳細資訊,請參閱 追蹤訊息格式檔案

安裝 Windows 驅動程式套件 (WDK) 以取得 tracelog.exe 和 tracefmt.exe 命令行工具之後,請執行下列步驟來收集以 WPP 為基礎的 WMI 追蹤。

若要檢視以 WPP 為基礎的 WMI 追蹤

  1. 若要建立單一 .tmf 檔案,請開啟提升許可權的命令提示字元視窗,並流覽至 \System32\wbem\tmf 目錄 %SystemRoot%。

  2. 輸入 複製 /y %SystemRoot%\System32\wbem\tmf\*.tmf %SystemRoot%\System32\wbem\tmf\wmi.tmf。 這會建立名為 wmi.tmf 的檔案,其中包含所有其他 .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. 輸入 記事本 %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)。 在上述 start 命令中,旗標(标志) 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 記錄檔