C#实现远程关机与远程开机(唤醒)

C#实现远程关机与远程开机(唤醒)//***********************************远程关机************************************///www.uzhanbao.com///1.关闭远程机防火墙///2.设置远程强制关机系统权限gpedit.msc///3.计算机属性远程设置…

大家好,又见面了,我是你们的朋友全栈君。

//***********************************远程关机************************************
        /// www.uzhanbao.com
        /// 1.关闭远程机防火墙
        /// 2.设置远程强制关机系统权限 gpedit.msc
        /// 3.计算机属性远程设置
        /// 展开“Windows 设置”>“安全设置”>“本地策略”>“用户权利指派”。在右侧中找到并选择“从远端系统强制关机”,
        ///
        public static void Shutdown()
        {

            //指定生成 WMI 连接所需的所有设置  

            ConnectionOptions op = new ConnectionOptions();

            op.Username = “JQGJ3TLNAA2NIIQ\\Administrator”;  //远程计算机用户名称  

            op.Password = “ljsjkjcs”;   //远程计算机用户密码  

            //设置操作管理范围  

            ManagementScope scope = new ManagementScope(“\\\” + “192.168.1.16” + “\\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为重新启动  

            }

        }

 ///
        /// 远程开机
        /// 进入后台修改Power Management Setup
        /// bios设置wake on lan->enable
        /// 网络—>属性->配置->电源管理,除了只允许幻数据包唤醒计算机,都勾选
        ///
        public static void Start()
        {

            //被动开机物理地址xx-xx-xx-xx-xx-xx
            byte[] mac = new byte[6];
            mac[0] = 0x4a;
            mac[1] = 0x8f;
            mac[2] = 0xfC;
            mac[3] = 0xc5;
            mac[4] = 0x16;
            mac[5] = 0x87;
            UdpClient client = new UdpClient();
            client.Connect(IPAddress.Broadcast, 9090);
            byte[] packet = new byte[17 * 6];
            for (int i = 0; i < 6; i++)
                packet[i] = 0xFF;
            for (int i = 1; i <= 16; i++)
                for (int j = 0; j < 6; j++)
                    packet[i * 6 + j] = mac[j];
            int result = client.Send(packet, packet.Length);

            Console.ReadLine();

        }
?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140936.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 解析PDB文件

    解析PDB文件参考vs的安装目录中的DIA2Dump工程C:\ProgramFiles(x86)\MicrosoftVisualStudio\2017\Enterprise\DIASDK\Samples\DIA2Dump

  • 什么是404页面,如何正确设置制作404页面

    什么是404页面,如何正确设置制作404页面
    什么是404页面?
      404网页是用户尝试访问网站不存在的网页(由于用户点击了损坏的链接、网页已被删除或用户输入了错误的网址)时看到的页面。之所以称为404网页,是因为针对丢失网页的请求,网络服务器会返回404HTTP状态代码,表明该网页未找到。
    404页面的目的是:告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开。
    404对搜索引擎优化seo的影响
      搜索引擎通过HTTP状态码来识别网页的状态。当

  • nginx https配置后无法访问,可能防火墙在捣鬼

    nginx https配置后无法访问,可能防火墙在捣鬼

    2021年10月13日
  • Spring中的Aware和Capable

    Spring中的Aware和Capable

  • perl正则表达式匹配中文

    perl正则表达式匹配中文perl正则表达式匹配中文:/[^u4E00-u9FA5]/js中正则表达式匹配中文:match(/[\u4E00-\u9FA5]/)

  • 各种门平面图画法_cad门的画法_用CAD画门的平面图的方法步骤图

    各种门平面图画法_cad门的画法_用CAD画门的平面图的方法步骤图大家在CAD室内平面图中经常看到门吧,那么大家知道怎么用CAD画门的平面图呢?想了解的同学可以参照以下CAD画平面图的教程,自己尝试去画门的平面图!用CAD画平面图的门的方法1、如下图所显示,输入要画矩形的方框,输入rec。2、单击要如下图中点,在进行拉动。3、如果下图没有显示中点的话,可以右击对象捕捉,选择全部选择。4、如下图可以看得以画出一个小矩形框出来。5、可以看到了如下图用矩形画出的门框来…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号