参考http://www.codeproject.com/csharp/wmi.asp
有源码下载

解决方案 »

  1.   

    //重新启动计算机
    public static void RebootRemoteCompute(string _strIP,string _strUsername,string _strPassword)
    {
    string m_strIP = _strIP;
    string m_strUsername = _strUsername;
    string m_strPassword = _strPassword; //定义连接远程计算机的一些选项 
    ConnectionOptions options = new ConnectionOptions ( ) ; 
    options.Username =m_strUsername; 
    options.Password = m_strPassword ; 
    ManagementScope scope = new ManagementScope( "\\\\" + m_strIP + "\\root\\cimv2", options ) ; 
    try 

    //用给定管理者用户名和口令连接远程的计算机 
    scope.Connect ( ) ; 
    System.Management.ObjectQuery oq = new System.Management.ObjectQuery ( "SELECT * FROM Win32_OperatingSystem" ) ; 
    ManagementObjectSearcher query1 = new ManagementObjectSearcher ( scope , oq ) ; 
    //得到WMI控制 
    ManagementObjectCollection queryCollection1 = query1.Get ( ) ; 
    foreach ( ManagementObject mo in queryCollection1 ) 

    string [ ] ss= { "" } ; 
    //重启远程计算机 
    mo.InvokeMethod ( "Reboot" , ss ) ; 


    //报错 
    catch ( Exception ee ) 

    MessageBox.Show ( "连接" + m_strIP + "出错,出错信息为:" + ee.Message ) ; 

    }