• C#远程关机代码


    C#远程关机代码:

    方法1

    //按钮点击事件

    private void button1_Click(object sender, EventArgs e)
            {
                //此处需要添加System.Management的引用
                ConnectionOptions op = new ConnectionOptions();
                //获取远程计算机的用户名
                op.Username = txtAdmin.Text.Trim();
                //获取远程计算机的密码
                op.Password = txtPassword.Text.Trim();

                ManagementScope scope = new ManagementScope("\\\\" + textBox1.Text + "\\root\\cimv2", op);

                scope.Connect();

                ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
                ManagementObjectSearcher query = new ManagementObjectSearcher(scope, oq);

                ManagementObjectCollection queryCollection = query.Get();
                foreach (ManagementObject obj in queryCollection)
                {
                    obj.InvokeMethod("ShutDown", null); //命令换成reboot就是重启
                }

            }

     方法2

    ConnectionOptions options = new ConnectionOptions();
      
      options.Username = textBox2.Text; //用户名
      options.Password = textBox3.Text; //用户口令
      try
      {
       ManagementScope Conn = new ManagementScope("\\\\" + textBox1.Text + "[url=file://rootcimv2/]\\root\\cimv2[/url]", 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 ); //报错
      }

    第3种方法:
    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 Ex18_11
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                //指定生成 WMI 连接所需的所有设置
                ConnectionOptions op = new ConnectionOptions();
                op.Username = "administrator";
                //远程计算机用户名称
                op.Password = "12345";
                //远程计算机用户密码
                //设置操作管理范围
                ManagementScope scope = new ManagementScope("
    \\\\" + "121.35.174.154" + "\\root\\cimv2", op);
                scope.Connect();
                //将此 ManagementScope 连接到实际的 WMI 范围。
                ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
                ManagementObjectSearcher query = new ManagementObjectSearcher(scope, oq);
                //得到WMI控制
                ManagementObjectCollection queryCollection = query.Get();
                foreach (ManagementObject obj in queryCollection)
                {
                    obj.InvokeMethod("ShutDown", null); //执行关闭远程计算机,reboot为重新启动
                }
            }
        }
    }
    第4方法:
    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 Ex18_11
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                //指定生成 WMI 连接所需的所有设置
                ConnectionOptions op = new ConnectionOptions();
                op.Username = "administrator";  //远程计算机用户名称
                op.Password = "";   //远程计算机用户密码
                //设置操作管理范围
                ManagementScope scope = new ManagementScope("
    \\\\" + "121.35.174.154" + "[url=file://root//cimv2]\\root\\cimv2[/url]", op);
                scope.Connect();  //将此 ManagementScope 连接到实际的 WMI 范围。
                ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
                ManagementObjectSearcher query = new ManagementObjectSearcher(scope, oq);
                //得到WMI控制
                ManagementObjectCollection queryCollection = query.Get();
                foreach (ManagementObject obj in queryCollection)
                {
                    obj.InvokeMethod("ShutDown", null); //执行关闭远程计算机,reboot为重新启动
                }

            }
        }
    }
  • 相关阅读:
    对象 函数
    流程控制语句 label 从键盘输入 计时器 []中括号的使用
    类型转换 运算符 流程控制语句
    JS的编写的位置 输出语句 注释 字面量和变量 数据类型
    AutoCad 二次开发 .net 之创建Table
    AutoCad 二次开发 .net 之相同块的自动编号
    Java 多线程练习
    C# Winform 自定义控件——竖着的Navbar
    C# Winfrom 自定义控件——带图片的TextBox
    Task CancellationTokenSource和Task.WhenAll的应用
  • 原文地址:https://www.cnblogs.com/captain_ccc/p/1517689.html
Copyright © 2020-2023  润新知