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();

        }
?

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 文本关键字查找功能原理和代码

    java 文本关键字查找功能原理和代码java 文本关键字查找功能原理和代码

    2022年4月23日
    39
  • [R语言画图]气泡图symbols[通俗易懂]

    [R语言画图]气泡图symbols

    2022年1月30日
    64
  • 服务器监控系统应有哪些功能,公安视频监控系统需要具备哪些功能「建议收藏」

    服务器监控系统应有哪些功能,公安视频监控系统需要具备哪些功能「建议收藏」现在视频监控系统已经开始与公安管理联动起来,有效保护公共安全,对于公安这样重要的执法部门来说,高清化、无线化、远程、实时的监控是行业监控安全运作必备的前提条件。除此以外,公安视频监控系统还需要具备哪些功能?1、应急指挥调度功能①实现紧急情况的收集、显示、上报功能。即在指挥中心内能通过网络传输和其他通信方式实时接收、显示、上报紧急情况的现场文字、图片、语音信息,并能通过终端服务器和显示屏随时调阅紧急…

    2022年7月16日
    16
  • Leetcode第一题:两数之和(3种语言)

    Leetcode第一题:两数之和(3种语言)@](这里写自定义目录标题)Leetcode第一题:两数之和给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的两个整数。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums1=2+7=9所以返回…

    2022年6月12日
    28
  • android activitymanager 系统api_Android view

    android activitymanager 系统api_Android viewActivityManager服务是对Activity管理、运行时功能管理和运行时数据结构的封装,进程(Process)、应用程序/包、服务(Service)、任务(Task)信息等。包括以下功能: 激活/去激活activity注册/取消注册动态接受intent发送/取消发送intentactivity生命周期管理(暂停,恢复,停止,销毁等)activitytask管理(前台-&gt;后台,后台…

    2022年9月7日
    3
  • 三种JS截取字符串方法

    三种JS截取字符串方法转载: https://www.cnblogs.com/zccfun/p/6054533.htmlJS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数:varstmp="rcinn.cn";使用一个参数alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"a…

    2022年4月29日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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