您可以從用戶端應用程式和文稿使用 WMI。 其提供基礎結構,可讓您輕鬆地探索及執行管理工作。 此外,您可以透過建立自己的 WMI 提供者,來擴展可能的管理工作集合。
注意
用於撰寫應用程式和腳本的下一代 WMI 版本可透過 Windows 管理基礎結構 (MI) 取得。 如需詳細資訊,請參閱 MI提供者和用戶端。
本節將討論下列主題:
從 WMI 取得資料
下列程式描述如何藉由撰寫腳本或應用程式,從 WMI 取得數據。
若要透過撰寫文本或應用程式從WMI取得數據
決定要使用的語言。 如需腳本的詳細資訊,請參閱 建立 WMI 腳本。 如需C++的詳細資訊,請參閱 使用 C++ 建立 WMI 應用程式。 如需使用 C# 或 WMI .NET 的詳細資訊,請參閱 WMI .NET 概觀。
您可以檢視或操作多種語言的 WMI 數據。 下表列出描述如何使用文稿和應用程式語言來取得數據的主題。
| 應用程式語言 | 主題 |
|---|---|
| Microsoft ActiveX 腳本裝載中撰寫的腳本,包括 Visual Basic Scripting Edition (VBScript) 和 Perl |
WMI 的腳本程式設計 API。 從建立 WMI 腳本開始。 如需腳本程式代碼範例,請參閱 腳本和應用程式的 WMI 工作和 TechNet ScriptCenter 腳本存放庫。 |
| Windows PowerShell |
開始使用 Windows PowerShell WMI PowerShell Cmdlet,例如 Get-WmiObject。 |
| Visual Basic 應用程式 |
WMI 的腳本 API。 |
| 使用中伺服器頁面 |
WMI 的腳本 API。 從 為 WMI 建立動態伺服器頁面 開始。 |
| C++ 應用程式 |
適用於 WMI 的 COM API。 從 使用 C++ 建立 WMI 應用程式 和 WMI C++ 應用程式範例(包含範例)開始。 |
| 以 C#、Visual Basic .NET 或 J 撰寫的 .NET Framework 應用程式# |
Microsoft.Management.Infrastructure 命名空間中的類別。 注意:System.Management 是涵蓋 WMI Managed 程式代碼的原始命名空間。 不過,System.Management 的基礎技術通常比 Microsoft.Management.Infrastructure 還要慢,而且擴展性不如後者。 因此,不建議您將 System.Management 用於新專案。 (如需詳細資訊 System.Management,請參閱 WMI .NET 概觀。) |
請確定您與遠端電腦的連線正常運作。
如需詳細資訊,請參閱 在遠端電腦上連接到 WMI。
連線到遠端電腦上的 WMI 需要正確的安全性設定,如在維護 WMI 安全性中所述。 下表列出描述如何使用文本和應用程式語言設定安全性設定的主題。
語言 主題 任何語言的腳本,Visual Basic 應用程式 使用 VBScript 設定預設進程安全性層級 使用中伺服器頁面 配置 IIS 5 及更新版本以進行 WMI ASP 腳本 C++ 使用 C++ 設定預設行程安全性層級,並在 IWbemServices 和其他 Proxy 上設定安全性 連線到 WMI 之後,您可以透過查詢和列舉取得數據。
登錄數據可透過 WMI 取得,您可以建立新的機碼和值,或修改現有的機碼和值。
如需詳細資訊,請參閱 修改系統登錄。
您可以透過 WMI 訂閱事件通知,可以選擇在系統重新啟動之間暫時訂閱或永久訂閱。
系統的性能計數器數據可透過WMI取得。
系統性能庫中的計數器會轉換成 WMI 類別。 如需詳細資訊,請參閱 監視效能數據。
WMI 任務在腳本和應用程式中的使用說明了如何利用 WMI 執行多項系統管理工作。
將數據提供給 WMI
下列程式描述如何藉由撰寫提供者將數據提供給 WMI。
若要藉由寫入提供者將數據提供給 WMI
決定要寫入的提供者類型。
您無法在 VBScript 中撰寫 WMI 提供者。 不過,您可以採取其他幾種方法來撰寫 WMI COM 提供者:
在 Visual Studio 中使用 WMI ATL 精靈。
此方法會建立無管理的 COM 提供者。 如需詳細資訊,請參閱 新增 WMI 實例提供者 和 新增 WMI 事件提供者。
直接在任何集成開發環境中使用 COM。
此方法會建立非受控 COM 提供者。
在 .NET Framework 中使用 WMI 來建立受控代碼提供者。
此方法會建立受管理的程式碼提供者。 Managed 程式代碼提供者可以使用任何 .NET Framework 語言撰寫、比 WMI COM 提供者更容易撰寫,而且可以從WMI CIM 型類別取得數據,例如 Win32 類別。 不過,.NET Framework WMI 提供者有一些限制。 如需詳細資訊,請參閱 使用WMI管理應用程式。
-
提供者架構已被 WMI ATL 精靈、直接使用 COM 或 .NET Framework 提供者所取代。 不再建議使用提供者架構類別建立 WMI COM 提供者。 下表列出描述如何使用 COM 或 .NET Framework 提供者的主題。
提供者 主題 COM 提供者在與 WMI 相同的進程中 將數據提供給 WMI COM 解耦提供者 在應用程式中納入提供者 C# 或 Visual Basic.NET 中的 .NET Framework 提供者 使用 WMI 管理應用程式
WMI 的重要工作
下列主題提供使用 WMI 監視及控制企業元件的相關信息。
| 主題 | 說明 |
|---|---|
|
腳本和應用程式的 WMI 任務 |
描述如何尋找正確的 WMI 類別和程式,以用於執行常見電腦和網路管理工作的腳本和應用程式,例如為遠端電腦新增印表機連線,或尋找電腦上所有已安裝的 Hotfix。 |
|
建立 WMI 應用程式或文稿 |
任何與 ActiveX 物件搭配運作的腳本語言,例如 VBScript 或 Perl,都可以存取 WMI 數據。 應用程式可以在 C++ 中使用適用於 WMI 的 COM API 存取 WMI,或是在 Visual Basic 中,使用 Wbemdisp.tlb 類別庫和適用於 WMI 的腳本 API。 |
|
連接到遠端電腦上的 WMI |
描述文本、應用程式和提供者如何在遠端電腦上建立 WMI 的連線,以取得數據或控制硬體和軟體。 |
|
使用 Windows PowerShell 連線到遠端電腦上的 WMI |
描述如何使用 Windows PowerShell 在遠端電腦上建立 WMI 的連線,以取得數據或控制硬體和軟體。 |
|
監控事件 |
描述如何藉由建立暫時或永久 WMI 事件取用者來取得事件通知。 |
|
將數據提供給 WMI |
WMI 會從提供者取得動態管理數據給用戶端腳本和應用程式。 |
|
在 64 位電腦上取得和提供數據 |
描述如何存取非預設提供者,以及在 64 位系統上,針對提供者編寫者的注意事項。 |