今天,我將給大家介紹個朋友,它就是
microsoft windows management instrumentation (wmi)
。中文名字叫
windows
管理規範。從
windows 2000
開始,wmi
(windows
管理規範)就內置於作業系統中,並且成為了
windows
系統管理的重要組成部分。所以大家很容易就能見到它的,因為我們至少也應該是個
windows 2000
的使用者了。下面我將詳細介紹它的每個細節,讓你從不認識它到喜歡上它。
wmi能做什麼?
wmi不僅可以獲取想要的計算機資料,而且還可以用於遠端控制。遠端控制計算機可是大家都喜歡的東西。很多遠端監視控制類軟體通常的做法是:在遠端計算機上執行服務端後台程式,在本地計算機上執行乙個客戶器端控制程式,通過這二個程式的勾結來實現對計算機的遠端控制。這種作法的缺點是十分明顯的,當服務端程式關了,這種遠端監控就無法實現了,因為沒有內線了。而
wmi實現的遠端監視和控制完全不需要另外裝什麼服務端的東西,系統預設就將
wmi服務給開了。具體說來,
wmi的本領如下:
1.獲取本地和遠端計算機的硬體軟體資訊。
2.監視本地和遠端計算機的軟體和服務等執行狀況。
3.控制本地和遠端計算機的軟體和服務執行。
4.高階應用。
如何訪問
wmi?
當我們知道
wmi的某些本領後,我們已經很想知道如何認識他並利用他了。利用
wmi有許多途徑,簡單說來有三種了:
1.通過微軟給我們提供的各種工具來實現普通查詢和操作。主要包括命令提示符下面的
wmic
,還有就是微軟給我們提供的
wmi tool
2.通過自己編寫指令碼來實現更靈活操作。要想真正靈活實用,對
wsh指令碼的熟悉是必須的,當然如果你不熟悉也沒有關係,稍後我會給大家詳細解釋的。
3. 通過編寫我們自己的程式來訪問並操作它。什麼語言都行。如果用
.net
類程式要簡單些了,如果用
vc等要複雜些了,起碼我是這麼認為的。
4.還有個訪問它的方法,就是到它的乙個巢穴。在
c:\windows\system32\wbem
目錄中的東西都和它有密切聯絡,有日誌和各種工具,在裡面你可以找到很多答案的。不過這些東西一般都不適合我們新手玩了,感覺有點嚇人。
我們今天的任務?
今天我們的任務有五個:
任務一:利用
wmic
列出遠端計算機上的所有程序。
任務二:利用
wmic
關閉本地程序。
任務三:通過
wmic
把遠端主機的程序資訊儲存在乙個網頁中
任務四:利用指令碼實時監視對方程序
任務五:利用指令碼給對方開放共享
檢視和監視程序,還要把程序給殺掉,最後還要給對方開個共享,我們這位朋友快把壞事做盡了。明白了我們的任務,我們就可以上路了。這次我們將主要借助
wmic
和指令碼來實現我們的任務,所以我們將主要分為兩大部分來講解。在五個任務的實戰中我們將更加深入地理解它,沒有基礎沒有關係,我將盡力去解釋所有的所謂的基礎,讓大家能很輕鬆地和這位朋友交流。
第一部分:利用
wmic
來認識wmi
wmic
是windows management instrumentation commandline
的簡稱,
wmic
擴充套件wmi
,提供了從命令列介面和批命令指令碼執行系統管理的支援。為
wmi命名空間提供了乙個強大的、友好的命令列介面。有了
wmic
,wmi
就顯的平易近人了。
執行「wmic
」命令將啟動
wmic
命令列環境。第一次執行
wmic
命令時,
windows
首先要安裝
wmic
,然後顯示出
wmic
的命令列提示符。在
wmic
命令列提示符上,命令將以互動的方式執行。如果你不知道該如何和它互動,請敲個「
/?」,細細看完全部的說明,你就知道了。
wmic
也可以按照非互動的模式執行。如果要執行某個單步的任務,或者執行批命令中的一系列
wmic
命令,非互動模式就很有用。要使用非互動模式,只要在同乙個命令列上啟動
wmic
並輸入要執行的命令就可以了。
1.任務一:利用
wmic
列出遠端計算機上的所有程序
這是乙個實現起來很簡單的任務,和你用乙個
dos命令一樣簡單,因為我們要循序漸進嘛,所以安排了這麼乙個熱身任務。在命令提示符下敲入下面的命令,我們將看到。
wmic /node:192.168.1.2 /user:net process
解說:1
)上面命令中的
node
和user
是全域性開關。如果你不願意另外輸一次密碼,你也可以用
password
開關,後面寫上密碼就可以了(
wmic /node:192.168.1.2 /user:net /password:password process
)。千萬要注意,這裡的使用者名稱和密碼都必須是管理員級別的,其它的無效。
wmic
提供了大量的全域性開關、別名、動詞、命令和豐富的命令列幫助增強使用者介面。全域性開關是用來配置整個
wmic
會話的選項。
2)process
是個別名,執行了乙個
win32_process
類的wql
查詢,至於說是
wmi的類是什麼東西,感興趣的就自己找資料多多了解,如果你很懶的話,就等我有時間給你開課講解。別名是使用者和
wmi命名空間乙個簡化語法的中間層。當你指定乙個別名時,動詞(
verb
)表示要執行的動作。
3)如果你願意,你可以在該後面加上個動詞等,比如
list full
等(如:
wmic /node:192.168.1.2 /user:net /password:password process
),這樣你就看得更清楚了。
wmic
的機器可以連線到任何一台安裝了
wmi的機器,被連線的機器不需要安裝
wmic。
2.任務二:利用
wmic
關閉本地程序
執行下面的命令將關閉正在執行的
qq。我比較膽小,所以不敢關別人的
qq,只能拿我的
qq試驗了,如果你的智商還夠用的話,膽子比較大的話,你很快就會去關別人的了。
wmic
process where name=」qq.exe」 call terminate
解說:1
)這次我們是用互動式的方法來執行任務,具體介面我就不多說了,圖上畫的比我說的好多了。
2)call
也是個動詞,這個動詞可是厲害了,控制類的沒有不用它的,它就是可以呼叫各種類的各種方法的大將。這裡我們呼叫了
terminate
方法。從字面上你就可以看出是惡狠狠的。
3)where
能夠讓你查詢和篩選。在超級多的例項中找到你想要的。例項就是指每個類的具體實現了。前面的例子中看到的各個程序都分別算是
win32_process
中的乙個例項。
3.任務三:通過
wmic
把遠端主機的程序資訊儲存在乙個網頁中
這個任務和任務一中的大致相同,是任務一的加強。在任務一中資訊以文字的形式顯示出來了。其實除了文字形式的輸出之外,
wmic
還能夠以其他形式返回命令執行結果,例如
xml、
html
或者csv
(逗號分隔的文字檔案),如圖
3所示。我們可以敲入下面的命令:
wmic /output:c:\1.html /node:192.168.1.2 /user:net process list full /format:hform.xsl
輸入密碼
:******
解釋:1
)全域性開關
output
指明將這些資訊儲存在什麼地方。
2)全域性開關
format
指明了用什麼樣的格式,至於說有那些格式可以用,你可以參看
c:\windows\system32\wbem
目錄中的
*.xsl
檔案,你甚至不用管它們從**來的,用就是了。挨著看看,一定可以找到你喜歡的。
Vbs指令碼程式設計簡明教程之五
錯誤處理 引發錯誤的原因有很多,例如使用者輸入了錯誤型別的值,或者指令碼找不到必需的檔案 目錄或者驅動器,我們可以使用迴圈技術來處理錯誤,但是vbs本身也提供了一些基本技術來進行錯誤的檢測和處理。1 最常見的錯誤是執行時錯誤,也就是說錯誤在指令碼正在執行的時候發生,是指令碼試圖進行非法操作的結果。例...
Vbs指令碼程式設計簡明教程之七
fso的常見物件和方法 檔案系統是所有作業系統最重要的部分之一,指令碼經常會需要對檔案及資料夾進行訪問和管理,在vbs中對桌面和檔案系統進行訪問的頂級物件是filesystemobject fso 這個物件特別複雜,是vbs進行檔案操作的核心。此節內容應瞭如指掌。fso包含的常見物件有 drive物...
Vbs指令碼程式設計簡明教程之十一
xml namespace 4代表資料夾或目錄。代表存檔檔案。msgbox f.attributes 函式的作用是顯示檔案屬性 msgbox 二 建立檔案 檔案已存在 set f fso.createtextfile c kk.txt true 三 複製 移動 刪除檔案 使用 movefile 方法...