问题描述
- 使用wmi实现远程关机。目标机器是win7系统
-
目标机器的防火墙已关闭。远程访问权限全开了。
代码如下:
ConnectionOptions co = new ConnectionOptions();
co.Username = "administrator";
co.Password = "";System.Management.ManagementScope ms = new ManagementScope("\\192.168.1.30\root\cimv2", co); ms.Connect(); System.Management.ObjectQuery oq = new ObjectQuery("SELECT*FROM Win32_OperatingSystem"); ManagementObjectSearcher query1 = new ManagementObjectSearcher(ms,oq); ManagementObjectCollection queryCollection1 = query1.Get(); foreach (ManagementObject mo in queryCollection1) { string[] ss = { "" }; mo.InvokeMethod("Reboot", ss); Console.WriteLine(mo.ToString()); 报错地方是ms.connect();提示说要有足够的资源权限。如何解决。
解决方案
管理员设置一个密码试试。
解决方案二:
密码设过了,还是同样错误
解决方案三:
给这个用户加权限,因为默认是普通用户的权限
解决方案四:
权限添加,密码设置了,然后连接能连接上了,现在新的错误又出现了。。。
foreach (ManagementObject mo in queryCollection1)
这行报错,说是无效查询。。。。。
我找了网上的代码和帮助文档,使用方法就是这样的啊~
时间: 2024-09-09 20:54:11