追蹤 WMI 活動
從 Windows Vista 開始,WMI 服務不會使用 WMI 記錄檔。 相反地,它會使用Windows 事件追蹤 (ETW) ,而且事件可透過事件檢視器或 Wevtutil 命令列工具取得。
本主題將討論下列各節:
透過 事件檢視器 取得 WMI 事件
WMITracing.log 檔案包含 WMI 追蹤的事件。 不過,這是二進位檔案。 若要以人類可讀取的格式查看這些事件,請使用事件檢視器。
根據預設,不會追蹤 WMI 事件。 此程式描述如何使用事件檢視器來啟用 WMI 事件追蹤和尋找 WMI 事件。 您可以透過 wevtutil 命令列工具執行相同的作業。
若要在 事件檢視器 中檢視 WMI 事件
- 開啟 [事件檢視器]。 在 [ 檢視] 功能表上,按一下 [ 顯示分析和偵錯記錄]。 在 [應用程式和服務記錄] 下找出 WMI 的 追蹤 通道記錄 |Microsoft |Windows |WMI 活動。
- 以滑鼠右鍵按一下 追蹤 記錄,然後選取 [ 記錄屬性]。 按一下 [ 啟用記錄] 核取方塊以啟動 WMI 事件追蹤。 如需通道的詳細資訊,請參閱 Windows 事件記錄檔中的事件記錄檔和通道。
- 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) 記錄二進位檔中的資訊。 若要讀取檔案,您必須先將它轉譯成可讀取的文字格式。 您可以使用名為 tracefmt.exe 的工具,從 Windows 驅動程式套件 (WDK) 來執行翻譯。 此工具需要儲存在某些相關聯檔案中的資訊。 這些檔案位於 %SystemRoot%\System32\wbem\tmf 目錄中,且副檔名為 .tmf。 此工具實際上需要單一 .tmf 檔案 。 您可以將所有 .tmf 檔案串連到另一個 .tmf 檔案,讓該檔案成為單一檔案。 如需 .tmf 檔案的詳細資訊,請參閱 追蹤訊息格式檔案。
安裝 Windows 驅動程式套件 (WDK) 以取得tracelog.exe和tracefmt.exe命令列工具之後,請執行下列步驟來收集 WPP 型 WMI 追蹤。
檢視 WPP 型 WMI 追蹤
若要建立單一 .tmf 檔案,請開啟提升許可權的命令提示字元視窗,然後流覽至 %SystemRoot%\System32\wbem\tmf 目錄。
類型 複製 /y %SystemRoot%\System32\wbem\tmf\*.tmf %SystemRoot%\System32\wbem\tmf\wmi.tmf。 這會建立名為 wmi.tmf 的檔案,其中包含所有其他 .tmf 檔案的內容。
輸入 tracelog -flush WMI_Trace_Session。 這會排清磁片上的 WPP 緩衝區。
類型 集TRACE_FORMAT_PREFIX = [%9!d!]%8!04X!。%3!04X!。%3!04X!::%4!s![%1!s!] (%!COMPNAME!:%!FUNC !:%2!s!) 。 tracefmt 工具會將一些預設資訊新增至每個追蹤訊息。 您可以藉由設定TRACE_FORMAT_PREFIX環境變數來設定包含哪些資訊。 若要瞭解所使用的語法,請參閱 追蹤訊息前置詞。
輸入 tracefmt -tmf %systemroot%\system32\wbem\tmf\wmi.tmf -o OUTPUT.TXT %systemroot%\system32\wbem\logs\WMITracing.log。 這會執行從二進位格式轉譯為可讀取的文字格式。
輸入 記事本 %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。站
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。
相關主題
意見反應
提交並檢視相關的意見反應