關於WMI的 WQL語言簡介和WQL測試工具wbemtest.exe使用方法詳細介紹

這篇文章主要介紹了WQL語言簡介和WQL測試工具wbemtest.exe使用方法詳細介紹,WQL是指Windows管理規範查詢語言,需要的朋友可以參考一下 (原文出處: .net中的WMI编程(二):WMI中的WQL语言和WQL的测试工具)

WQL就是WMI中的查詢語言,WQL的全稱是WMI Query Language

簡稱為WQL,翻譯成中文好像可以成為Windows管理規範查詢語言。熟悉SQL語言的朋友會感覺它和SQL非常相似。

WQL其實非常簡單,它有如下特點:
1、每個WQL語句必須以SELECT開始;
2、SELECT後跟你需要查詢的屬性名(我剛才對應SQL將其稱之為字段名了),也可以像SQL一樣,以 * 表示返回所有屬性值;
3、FROM關鍵字;
4、你要查詢的類的名字;
5、另外,如果你想精確查詢結果還可以加上WHERE條件從句。比如某個類有Enable屬性,你可以在查詢的時候加上WHERE ENABLE=true。

如以下的都是正確的WQL語句:

Select * From Win32_LogicalDisk where drivetype=3 '‘'‘查詢所有硬盤分區
SELECT * FROM Win32_share '‘查詢所有共享目錄
SELECT * FROM Win32_NetworkAdapterConfiguration WHERE DHCPEnabled=TRUE
SELECT Description FROM Win32_Account WHERE Name='Administrator'
SELECT Freespace,DeviceID FROM Win32_LogicalDisk

在Windows作業系統中都會有一個內建的WQL測試工具,叫wbemtest.exe

用它就能查看有哪些類和類有哪些 屬性,使用方法如下:
首先,運行wbemtest.exe,如下圖:

點“確定”之後會出現一個“Windows管理規範測試器”的窗口,如下圖:

點擊“連接”會出現一個對話框,我們可以選擇連接本地主機或者遠程主機,如下圖:

如果是本機測試並且是用管理員身份登錄,可以不用填寫用戶名和密碼,
如果是鏈接遠程主機則需要填寫遠程主機上的用戶名和密碼(建議使用遠程主機上的管理員身份登錄),點擊“連接”之後就會回到主界面。注意,只有登錄之後才能查看和查詢。

點擊“查詢”按鈕,輸入我們要查詢的WQL語句,
如"Select * From Win32_LogicalDisk",這是查詢系統邏輯驅動器的WQL語句,如圖:

這是我們多半會得到一個號碼為"0x80041010″ ,
描述為"無效類別"的錯誤,如下圖:

出現這個錯誤是因為剛開始默認的名稱空間為"root/default",這時我們需要更改名稱空間。
再點擊“連接”按鈕,將默認的"root/default"更改為"root/cimv2″,然後再點"連接"按鈕,如下圖:

登錄成功之後我們就可以查看系統有哪些類,並且還可以執行WQL查詢了。
點擊"枚舉類別"按鈕,然後在彈出的對話框中輸入要查找的類名就可以查詢類的屬性了。
如下圖(注意:我沒有填寫超類別名稱,並且選中"遞歸"單選按鈕,這樣就是遞歸列舉系統中所有的類):

查詢結果如下圖:

這些可都是有用的東西哦,如果你細心,你會這個列表裡發現我以前所用到的WQL語句裡設計到的所有的類,如Win32_LogicalDisk、Win32_share等等。
需要注意的是,有些還有括號,這些是方法。

下面是一些查詢的結果:

我們還可以對其中某一項數據雙擊查看屬性,如下圖:

如果我們不習慣這種方式查看,我們還可以點擊上面這個窗口中的"顯示MOF“按鈕,
下圖是我點擊"顯示MOF“按鈕的結果:

從上面的圖裡就能看出這個類有哪些屬性及對應的屬性值了。

發表迴響