WMI 架構
WMI 可為任何本機或遠端應用程式或腳本提供統一介面,以從電腦系統、網路或企業取得管理資料。 統一介面的設計目的是讓 WMI 用戶端應用程式和腳本不需要呼叫各種操作系統應用程式開發介面 (API) 。 許多 API 無法由自動化用戶端呼叫,例如腳本或 Visual Basic 應用程式。 其他 API 不會呼叫遠端電腦。
若要從 WMI 取得資料,請撰寫用戶端腳本或應用程式,以存取 WMI 類別 ,或藉由寫入 WMI 提供者將資料提供給 WMI。 如需詳細資訊,請參閱使用 WMI。
WMI 的物件、取用者和基礎結構
下圖顯示 WMI 基礎結構與 WMI 提供者與 Managed 物件之間的關聯性,也會顯示 WMI 基礎結構與 WMI 取用者之間的關聯性。
WMI 元件
下列清單描述主要 WMI 元件:
Managed 物件和 WMI 提供者
WMI 提供者是一個 COM 物件,可監視 WMI 的一或多個 受管理物件 。 Managed 物件是邏輯或實體企業元件,例如硬碟、網路介面卡、資料庫系統、作業系統、進程或服務。
與驅動程式類似,提供者會提供來自 Managed 物件資料的 WMI,並處理來自 WMI 到 Managed 物件的訊息。 WMI 提供者是由 DLL 檔案和 Managed 物件格式所組成, (MOF) 檔案,定義提供者傳回資料並執行作業的類別。 WMI C++ 應用程式之類的提供者會使用 適用于 WMI 的 COM API。 如需詳細資訊,請參閱 將資料提供給 WMI。
提供者的範例是預先安裝的 登錄提供者,可存取系統登錄中的資料。 登錄提供者有一個 WMI 類別StdRegProv,具有許多方法,但沒有屬性。 其他預先安裝的提供者,例如 Win32 提供者,通常具有許多屬性但少數方法的類別,例如 Win32_Process 或 Win32_LogicalDisk。 登錄提供者 DLL 檔案Stdprov.dll包含程式碼,可在用戶端腳本或應用程式要求時動態傳回資料。
WMI MOF 和 DLL 檔案位於 %WINDIR%\System32\Wbem,以及 WMI Command-Line Tools,例如 Winmgmt.exe 和 Mofcomp.exe。 提供者類別,例如 Win32_LogicalDisk,會在 MOF 檔案中定義,然後在系統啟動時編譯成 WMI 存放庫。
-
WMI 基礎結構是 Microsoft Windows 作業系統元件,稱為 WMI 服務, (winmgmt) 。 WMI 基礎結構有兩個元件:WMI 核心和 WMI 存放庫。
WMI 存放庫是由 WMI 命名空間組織。 WMI 服務會在系統啟動時建立一些命名空間,例如 root\default、root\cimv2 和 root\subscription,並預先安裝一組預設類別定義,包括 Win32 類別、 WMI 系統類別等等。 您系統上找到的其餘命名空間是由作業系統或產品其他部分的提供者所建立。 如需詳細資訊和大部分作業系統版本中找到的 WMI 提供者清單,請參閱 WMI 提供者。
WMI 服務可作為提供者、管理應用程式和 WMI 存放庫之間的媒介。 只有關於物件的靜態資料會儲存在存放庫中,例如提供者所定義的類別。 WMI 會在用戶端要求資料時,從提供者動態取得大部分的資料。 您也可以設定訂用帳戶,以接收來自提供者的事件通知。 如需詳細資訊,請參閱 監視事件。
WMI 取用者
WMI 取用者是與 WMI 基礎結構互動的管理應用程式或腳本。 管理應用程式可以藉由呼叫 適用于 WMI 的 COM API 或 WMI 的腳本 API來查詢、列舉資料、執行提供者方法或訂閱事件。 提供者提供的唯一資料或動作適用于受控物件,例如磁片磁碟機或服務。
相關主題