C#远程重启计算机
时间:2011-06-14 来源:King-两色天
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Management;
namespace 重启远程计算机
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_ReBoot_Click(object sender, EventArgs e)
{
//定义连接远程计算机的一些选项
ConnectionOptions options = new ConnectionOptions();
options.Username = textBox2.Text;
options.Password = textBox3.Text;
ManagementScope scope = new ManagementScope("\\\\" + textBox1.Text + "\\root\\cimv2", options);
try
{
//用给定管理者用户名和口令连接远程的计算机
scope.Connect();
ObjectQuery oq = new ObjectQuery("select * from win32_OperatingSystem");
ManagementObjectSearcher query1 = new ManagementObjectSearcher(scope, oq);
ManagementObjectCollection queryCollection1 = query1.Get();
foreach (ManagementObject mo in queryCollection1)
{
string[] ss ={ "" };
if (comboBox1.Text == "重新启动")
{
mo.InvokeMethod("Reboot", ss);
}
if (comboBox1.Text == "关闭计算机")
{
mo.InvokeMethod("Shutdown",ss);
}
//if (comboBox1.Text == "注销")
//{
// mo.InvokeMethod("Logoff", ss);
//}
}
}
catch (Exception er)
{
MessageBox.Show("连接" + textBox1.Text + "出错,出错信息为:" + er.Message);
}
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Items.Add("重新启动");
comboBox1.Items.Add("关闭计算机");
//comboBox1.Items.Add("注销");
}
}
}