1、必须知道管理员用户名和密码
2、确认远程PC机启动了RPC服务
添加引用System.Management
using System.Management;
private void RebootPc()
{
ConnectionOptions op = new ConnectionOptions ( ) ;
op.Username ="Administrator"; //拥有管理员权限的用户名
op.Password = "111" ; //密码
ManagementScope scope = new ManagementScope("\\\\" + "192.168.123.186" + "\\root\\cimv2", op);
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 mobj in queryCollection1 )
{
string [ ] str= { "" } ;
mobj.InvokeMethod( "Reboot" , str ) ;
}
}
catch
{
}
}