Vbs指令碼程式設計簡明教程之十七 1

2021-09-21 09:32:04 字數 4348 閱讀 5527

今天,我將給大家介紹個朋友,它就是

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 方法...