WMI不僅可以擷取想要的電腦資料,而且還可以用以遠端控制。遠端控制電腦不僅是駭客們的夢想,也是大多數網路管理者所渴望得到的,尤其在現代的網路中,每一個網路管理者所面對的區域網路,都是由一個龐大的電腦群組成,如果有效管理網路的每一台電腦就顯得格外重要了。目前網路管理軟體通常的做法是,在遠端電腦上運行用戶端背景程式,在本機電腦上運行一個伺服器端前台控製程序,通過這二個程式直接的通訊實現對電腦的遠端控制。這種作法的缺點是十分明顯的,當用戶端關閉了背景程式,這種遠端管理就無法實現了,所以為了克服這個缺點,遠端控制軟體的用戶端程式就做的非常隱蔽,使使用者在不知覺中運行程式。
其實做遠端控制軟體,WMI是一個很好的選擇,尤其是在目前,Windows 2000已經成為了主流的作業系統,利用WMI編寫遠端控制軟體可以省略了已往遠端控制軟體最頭痛的一個環節--分發用戶端程式。
本節中介紹的遠端控制程式,能夠讓使用者重啟和關閉遠端電腦。其所使用的就是WMI,下面是Visual C#中利用WMI控制遠端電腦具體實現步驟。
1. 首先啟動Visual Studio .Net,依次選擇"檔案"、"建立"、"項目"菜單後,在彈出"建立項目"對話方塊中將"項目類型"設定為"Visual C#項目",將"模板"設定為"Windows應用程式",在"名稱"文字框中輸入"利用WMI控制遠端電腦",在"位置"的文字框中輸入"E:\VS.NET項目",然後單擊"確定"按鈕。這樣在"E:\VS.NET項目"目錄中就建立了一個新的檔案夾"利用WMI控制遠端電腦",裡面存放的就是"利用WMI控制遠端電腦"的專案檔。
2. 重新執行一下實現【擷取遠端電腦硬碟資訊】項目中的第二至第四步驟。
3. 把Visual Studio .Net當前視窗切換到【Form1.cs(設計)】視窗,並從【工具箱】中的【Windows表單組件】選項卡中往表單中拖入下列組件,並執行相應操作:
三個TextBox組件,用以輸入遠端電腦名稱(或IP地址)、遠端電腦WMI操作使用者名稱和口令。
一個ComboBox組件,用以選擇對遠端電腦執行的操作類型。
四個Label組件。
一個Button組件,名稱為button1,拖入表單後,雙擊此組件,則系統會在Form1.cs檔案中自動產生其Click事件對應的處理代碼。
4. 按照表06中的資料調整各組件屬性對應的數值:
組件類型 |
組件名稱 |
屬性 |
設定結果 |
Form |
Form1 |
Text |
利用WMI控制遠端電腦 |
Form1 |
FormBorderStyle |
FixedSingle |
Form1 |
MaximizeBox |
False |
Label |
label1 |
Text |
機器名稱或IP地址: |
label2 |
Text |
具有WMI許可權的超級使用者名稱: |
label3 |
Text |
口令: |
label4 |
Text |
選擇控制類型: |
TextBox |
textBox1 |
Text |
"" |
textBox2 |
Text |
"" |
textBox3 |
PasswordChar |
* |
textBox3 |
Text |
"" |
Button |
button1 |
Text |
執行 |
button1 |
FlatStyle |
Flat |
表06:【利用WMI控制遠端電腦】項目表單中各組件的主要屬性設定數值表
並按照圖09中各組件的位置和排列順序調整表單中組件的位置和排列順序:
圖09:【利用WMI控制遠端電腦】的設計介面