5. 把Visual Studio .Net的當前窗口切換到Form1.cs文件的編輯窗口,並用下列代碼替換Form1.cs中的button1的Click事件對應的處理代碼。下列代碼的作用是對根據用戶的選擇對遠程計算機進行進行相應的遠程控制:
private void button1_Click ( object sender , System.EventArgs e )
{
//確定WMI操作的范圍
ConnectionOptions options = new ConnectionOptions ( ) ;
//設定用於WMI連接操作的用戶名
options.Username = textBox2.Text ;
//設定用戶的口令
options.PassWord = textBox3.Text ;
try
{
ManagementScope Conn = new ManagementScope( "\\\\" + textBox1.Text + "\\root\\cimv2", options ) ;
Conn.Connect();
//確定WMI操作的內容
ObjectQuery oq = new ObjectQuery ( "SELECT * FROM Win32_OperatingSystem" ) ;
ManagementObjectSearcher query1 = new ManagementObjectSearcher ( Conn , oq ) ;
//獲取WMI操作內容
ManagementObjectCollection queryCollection1 = query1.Get ( ) ;
//根據使用者選擇,執行相應的遠程操作
foreach ( ManagementObject mo in queryCollection1 )
{
string [ ] ss= { "" } ;
//執行重啟操作
if (comboBox1.Text =="重新啟動")
{
mo.InvokeMethod ( "Reboot" , ss ) ;
} else
//執行遠程關機
if ( comboBox1.Text =="遠程關機")
{
mo.InvokeMethod ( "Shutdown" , ss ) ;
}else
MessageBox.Show ("選擇不正確的操作!","錯誤!");
}
}
//報錯
catch ( Exception ee )
{
MessageBox.Show ( "連接" + textBox1.Text + "出錯,出錯信息為:" + ee.Message ) ;
}
}
6. 至此,在上述步驟都正確完成,並全部保存後,【利用WMI控制遠程計算機】下面的全部工作就完成了。此時單擊【F5】快捷鍵,就可以運行程序了。在程序的【計算機名稱或IP地址】文本框中輸入要控制的遠程計算機名稱或IP地址,在【具有WMI權限的用戶名】和【口令】文本框中輸入具有WMI操作的帳戶和口令,在【選擇控制類型】組合框中選擇對遠程計算機的控制類型後,單擊【執行】按鈕,則程序就能夠對指定的遠程計算機進行相應的控制了。圖10是【利用WMI控制遠程計算機】的運行界面。
圖10:【利用WMI控制遠程計算機】的運行界面
總結:
通過以上示例,可見WMI的確是一個非常有用的東西,但由於它還比較新,國內甚至國外還沒有完整的介紹資料,因此只是簡要的浏覽了一下WMI的應用,希望本文的內容能夠對大家了解、掌握使用Visual C#調用WMI的方法有所幫助。