共用方式為


WMI 架構

WMI 會針對任何從計算機系統、網路或企業取得管理數據的本機或遠端應用程式或腳本,提供統一介面。 統一介面的設計使 WMI 用戶端應用程式和腳本不需要呼叫各種不同的作系統應用程式開發介面 (API)。 許多 API 無法由自動化用戶端呼叫,例如腳本或 Visual Basic 應用程式。 其他 API 不會呼叫遠端電腦。

若要從 WMI 取得數據,請撰寫用戶端腳本或應用程式,以存取 WMI 類別,或藉由撰寫 WMI 提供者將數據提供給 WMI。 如需詳細資訊,請參閱使用 WMI

WMI 的物件、取用者和基礎結構

下圖顯示 WMI 基礎結構與 WMI 提供者與 Managed 物件之間的關聯性,也會顯示 WMI 基礎結構與 WMI 取用者之間的關聯性。

wmi 基礎結構、wmi 提供者和 Managed 物件之間的 關聯性

WMI 元件

下列清單描述主要 WMI 元件:

  • Managed 物件和 WMI 提供者

    WMI 提供者是 COM 物件,可監視 WMI一或多個受控物件。 受控對像是邏輯或實體企業元件,例如硬碟機、網路適配器、資料庫系統、作系統、進程或服務。

    與驅動程序類似,提供者會提供來自 Managed 對象數據的 WMI,並處理來自 WMI 到 Managed 物件的訊息。 WMI 提供者是由 DLL 檔案和 Managed 物件格式 (MOF) 檔案所組成,可定義提供者傳回數據並執行作業的類別。 提供者,例如 WMI C++ 應用程式,請使用適用於 WMI COM API。 如需詳細資訊,請參閱 將資料提供給 WMI

    提供者的範例是預安裝 登錄提供者,其會存取系統登錄中的數據。 登錄提供者有一個 WMI 類別StdRegProv,但有許多方法,但沒有屬性。 其他預安裝提供者,例如 Win32 提供者,通常具有許多屬性但少數方法的類別,例如 Win32_ProcessWin32_LogicalDisk。 登錄提供者 DLL 檔案 Stdprov.dll,包含程式代碼,可在用戶端腳本或應用程式要求時動態傳回數據。

    WMI MOF 和 DLL 檔案位於 %WINDIR%\System32\Wbem,以及 WMI Command-Line Tools,例如 Winmgmt.exeMofcomp.exe。 提供者類別,例如 Win32_LogicalDisk,是在MOF檔案中定義,然後在系統啟動時編譯成WMI存放庫。

  • 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 來查詢、列舉數據、執行提供者方法或訂閱事件。 受控物件唯一可用的數據或動作,例如磁碟驅動器或服務,就是提供者提供的數據或動作。

使用 WMI

WMI 提供者

建立 WMI 應用程式或腳本

文稿和應用程式的 WMI 工作

將數據提供給 WMI

WMI 類別

監視事件

呼叫方法