欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

WQL語言簡介和WQL測試工具wbemtest.exe使用方法詳細(xì)介紹

 更新時(shí)間:2014年07月22日 08:57:36   投稿:junjie  
這篇文章主要介紹了WQL語言簡介和WQL測試工具wbemtest.exe使用方法詳細(xì)介紹,WQL是指Windows管理規(guī)范查詢語言,需要的朋友可以參考下

WQL就是WMI中的查詢語言,WQL的全稱是WMI Query Language,簡稱為WQL,翻譯成中文好像可以成為Windows管理規(guī)范查詢語言。熟悉SQL語言的朋友會(huì)感覺它和SQL非常相似。

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

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

復(fù)制代碼 代碼如下:

Select * From Win32_LogicalDisk where drivetype=3 '‘'‘查詢所有硬盤分區(qū)
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

在WinXP和Win2003中有一個(gè)自帶的WQL測試工具,叫wbemtest.exe,用它就能查看有哪些類和類有哪些 屬性,使用方法如下:
首先,運(yùn)行wbemtest.exe,如下圖:

點(diǎn)“確定”之后會(huì)出現(xiàn)一個(gè)“Windows管理規(guī)范測試器”的窗口,如下圖:

點(diǎn)擊“連接”會(huì)出現(xiàn)一個(gè)對話框,我們可以選擇連接本地主機(jī)或者遠(yuǎn)程主機(jī),如下圖:

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

點(diǎn)擊“查詢”按鈕,輸入我們要查詢的WQL語句,如"Select * From Win32_LogicalDisk",這是查詢系統(tǒng)邏輯驅(qū)動(dòng)器的WQL語句,如圖:

這是我們多半會(huì)得到一個(gè)號碼為"0x80041010" ,描述為"無效類別"的錯(cuò)誤,如下圖:


出現(xiàn)這個(gè)錯(cuò)誤是因?yàn)閯傞_始默認(rèn)的名稱空間為"root/default",這時(shí)我們需要更改名稱空間。再點(diǎn)擊“連接”按鈕,將默認(rèn)的"root/default"更改為"root/cimv2",然后再點(diǎn)"連接"按鈕,如下圖:

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

查詢結(jié)果如下圖:


這些可都是有用的東西哦,如果你細(xì)心,你會(huì)這個(gè)列表里發(fā)現(xiàn)我以前所用到的WQL語句里設(shè)計(jì)到的所有的類,如Win32_LogicalDisk、Win32_share等等。需要注意的是,有些還有括號,這些是方法。

下面是一些查詢的結(jié)果:

我們還可以對其中某一項(xiàng)數(shù)據(jù)雙擊查看屬性,如下圖:

如果我們不習(xí)慣這種方式查看,我們還可以點(diǎn)擊上面這個(gè)窗口中的"顯示MOF“按鈕,下圖是我點(diǎn)擊"顯示MOF“按鈕的結(jié)果:

從上面的圖里就能看出這個(gè)類有哪些屬性及對應(yīng)的屬性值了。

今天的內(nèi)容看起來似乎和.net沒有什么聯(lián)系,但是只有了解并且熟悉了WQL才能使我們快速和順利地編寫.net代碼。

WMI 測試器 (wbemtest.exe) 演練

現(xiàn)在,您對可用于瀏覽和查看 CIM 的工具已經(jīng)有了一些認(rèn)識,讓我們使用 WMI 測試器 (wbemtest.exe) 來檢查Win32_Process 類定義并修改清單 2,以便從在您的本地計(jì)算機(jī)上運(yùn)行的進(jìn)程檢索一些屬性。

打開一個(gè)命令提示,鍵入 C:\>wbemtest.exe,按下 Enter 來開始 WMI 測試器工具。請注意,大部分按鈕在主 WMI 測試器窗口上是被禁用的,這說明此時(shí)您沒有連接到 WMI。

單擊 Connect? 連接到本地或遠(yuǎn)程計(jì)算機(jī)上的 WMI 服務(wù)。顯示“連接”對話框,它提供一個(gè)標(biāo)記為Namespace 的文本輸入?yún)^(qū)域,該區(qū)域默認(rèn)值為 root\default。將 Namespace 區(qū)域的值更改為root\cimv2,單擊“連接”對話框的 Connect 按鈕返回到主 WMI 測試器窗口。

主窗口中左上角的命名空間標(biāo)識符應(yīng)該顯示為 root\cimv2。請注意,所有的按鈕現(xiàn)在都已啟用,這說明在當(dāng)前憑據(jù)環(huán)境下,您已經(jīng)成功連接到本地主機(jī)上的 WMI。單擊 Enum Classes? 打開“超類信息”對話框。

在“超類信息”對話框中,不要填寫 Enter superclass name 區(qū)域,單擊 Recursive 選項(xiàng),單擊 OK 以枚舉 root\cimv2 名稱空間中定義的所有 CIM 類。

此時(shí),您可能應(yīng)該正在查看一個(gè)列出了數(shù)百個(gè)類定義的“查詢結(jié)果”對話框。類的數(shù)量主要取決于您正在運(yùn)行的 Windows 的版本。例如,如果使用 Windows 2000,則您應(yīng)該會(huì)看到大約 600 個(gè)類定義。如果運(yùn)行 Windows XP,則您應(yīng)該會(huì)看到大約 900 個(gè)類定義。

請注意,列于“查詢結(jié)果”對話框頂部的類是以兩個(gè)下劃線為開頭的。這些是系統(tǒng)類。系統(tǒng)類是預(yù)定義的 CIM 類,支持內(nèi)部 WMI 配置與操作,例如提供程序注冊、命名空間安全性及事件通知等?,F(xiàn)在,忽略系統(tǒng)類,向下滾動(dòng)“查詢結(jié)果”對話框直至看到以 CIM_ 開頭的類。

名稱以 CIM_ 開頭的類是由 DMTF 維護(hù)的核心與公共基類。繼續(xù)向下滾動(dòng)直至到達(dá)以 Win32_ 開頭的類。

名稱以 Win32_ 開頭的類是 Microsoft 擴(kuò)展類,表示 Windows 特定的托管資源。如果這是您第一次檢查root\cimv2 命名空間,您可能希望熟悉 root\cimv2 命名空間中的類的完整集合,尤其是有 Win32_ 前綴的類。

向下滾動(dòng)“查詢結(jié)果”對話框直至到達(dá) Win32_Process 類,雙擊該類名打開 Win32_Process 對話框的對象編輯器。

“對象編輯器”對話框顯示被選定類的定義和實(shí)現(xiàn)的詳細(xì)信息(屬性和方法)?;貞浺幌挛覀冎坝懻摰膬?nèi)容 — 類定義是 WMI 可管理資源的藍(lán)圖。

選擇 Hide System Properties 復(fù)選框隱藏系統(tǒng)屬性。剩余的 Win32_Process 屬性表示您可以從在本地或遠(yuǎn)程計(jì)算機(jī)上運(yùn)行的進(jìn)程檢索的信息。

要完成您的 WMI 腳本練習(xí),嘗試去檢索 Name、Handle 和 ProcessID 屬性。使用前面的三個(gè)清單之一作為模板,試著在進(jìn)行到第 7 步之前運(yùn)行腳本。

 要在本地計(jì)算機(jī)上運(yùn)行腳本,將 strComputer 變量的值設(shè)置為“.”(引號內(nèi)的一個(gè)單點(diǎn))。

在運(yùn)行新創(chuàng)建的 GetProcesses.vbs 腳本之后,您可以用 WIMI 測試器驗(yàn)證腳本的結(jié)果。在 Win32_Process 對話框的對象編輯器中,單擊 Instances。產(chǎn)生的查詢結(jié)果對話框列出在計(jì)算機(jī)上運(yùn)行的進(jìn)程的實(shí)例。雙擊一個(gè)指定的進(jìn)程實(shí)例,查看該實(shí)例的詳細(xì)信息。

wbemtest.exe 軟件下載地址:http://www.dbjr.com.cn/softs/193574.html

WMI 測試器演練的答案

復(fù)制代碼 代碼如下:

strComputer = "." ' Dot (.) equals local computer in WMI
Set wbemServices = Getobject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_Process")
For Each wbemObject In wbemObjectSet
WScript.Echo "Name: " & wbemObject.Name & vbCrLf & _
" Handle: " & wbemObject.Handle & vbCrLf & _
" Process ID: " & wbemObject.ProcessIDNext

相關(guān)文章

最新評論