异常:

System.Management.ManagementException: 找不到 

   在 System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)

   在 System.Management.ManagementObject.Initialize(Boolean getObject)

   在 System.Management.ManagementBaseObject.get_wbemObject()

   在 System.Management.ManagementBaseObject.get_ClassName()

   在 System.Management.ManagementClass.GetInstances(EnumerationOptions options)

现象:

某台机器之前使用正常,突然报这个错。

其他机器均正常。

解决:

1. 确保服务“Windows Management Instrumentation”开启。

2. 如果已经开启还是有问题,那么可能是WMI存储库损坏,需要重建WMI存储库。

要重建WMI存储库,(Win7等系统)步骤操作:

(如果是XP系统,参考 http://windowsxp.mvps.org/repairwmi.htm

————————————–

1.开始->所有程序->附件,以管理员身份打开命令提示符command

2.停止WMI服务:net stop winmgmt

3.Repository目录改名备份:ren %windir%\System32\Wbem\Repository Repository_backup

4.重启WMI服务:net start winmgmt

5.运行 winmgmt /salvagerepository 尝试重建Repository

6.注册WMI组件:

cd /d %windir%\system32\wbem

for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s

for /f %%s in (‘dir /b *.mof *.mfl’) do mofcomp %%s

wmiprvse /regserver

winmgmt /regserver

7.重新启动系统

8.重新安装自动更新成功

—————————————–

如果仍不成功,运行 %SystemRoot%\System32\Wbem\WbemTest.exe 测试WMI连接,点击连接,再次点击连接。如果仍然有连接错误,那么需要尝试全面的重建,运行下面的命令:

rundll32.exe setupapi,InstallHinfSection WBEM 132 %windir%\inf\wbemoc.inf

执行上面的命令后,可能会需要读取 Windodws 7/Windows 2008 R2 安装盘。

分析:

导致错误的代码段

public static string GetNetworkCardInfo()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc2 = mc.GetInstances(); <span style="color:#ff0000;">//这一句抛出的异常</span>
string netcard = string.Empty;
foreach (ManagementObject mo in moc2)
{
if ((bool)mo["IPEnabled"] == true)
{
netcard = mo["MacAddress"].ToString();
mo.Dispose();
break;
}
mo.Dispose();
}
return netcard;
}
原因:

System.Management 命名空间下的方式基本都是依赖WMI (Windows Management Instrumentation) 服务的,所以自然就联想到WMI的问题。然后去用工具或vbs脚本检验一下,基本就能确认了。
 

[问题记录.dotnet]取网卡信息报错"找不到"-WMI - Not found的更多相关文章

  1. .map文件的作用以及在chorme下会报错找不到jquery-1.10.2.min.map文件,404 的原因

    source map文件是js文件压缩后,文件的变量名替换对应.变量所在位置等元信息数据文件,一般这种文件和min.js主文件放在同一个目录下. 比如压缩后原变量是map,压缩后通过变量替换规则可能会 ...

  2. IntelliJ_编译一直报错“找不到符号”

    执行maven compile时一直报错"找不到符号",类 XXX 各种clean.compile都不行 最后执行Rebuild Project一次后解决   执行rebuild ...

  3. MVC4数据访问EF查询linq语句的时候报错找不到表名问题

    一天做项目的时候遇到这样的问题,MVC4用EF访问数据查询用linq语句的时候报错找不到表名:报错如下图: 研究了几种情况,最后还是没有找到正真的问题所在,不过可能是和路由解析问题有关,暂时还没有进行 ...

  4. SQL Server 安装报错找不到vc_red.msi

    问题描述: 今天给 WIN 7 SP1 操作系统安装 SQL Server 2014 ,报错找不到vc_red.msi   (图片来源网络,请忽略2012字样..)   问题解决: 1.由于安装程序提 ...

  5. docker拉取镜像报错:net/http: TLS handshake timeout.

    docker拉取镜像报错:net/http: TLS handshake timeout. 启动一个后台的busybox容器 [yunva@node1 network-scripts]$ docker ...

  6. salt '*' state.highstate 报错找不到文件,环境如下No Top file or master_tops data matches found.

    salt '*' state.highstate 报错找不到文件,环境如下No Top file or master_tops data matches found. file_roots:    b ...

  7. macOS VMWare Fusion报错”找不到可以连接的有效对等进程”的解决方案

    macOS VMWare Fusion报错”找不到可以连接的有效对等进程”的解决方案 我的是macOS 10,默认情况下不允许未知身份的软件安装 默认情况,如下图所示: 解决办法: sudo spct ...

  8. idea lib下有jar包但是仍然报错 找不到类

    现象: idea lib下有jar包但是仍然报错 找不到类 但是有个奇怪现象 同样的配置下项目在eclipse中可以正常编译 启动. package com.puhui.car.aspect; imp ...

  9. Intellij里检出svn报错找不到svn解决办法

    Intellij里检出svn报错找不到,解决办法: 1. 安装svn客户端: 2. 去掉settings->version control->subversion里的use command ...

随机推荐

  1. 如何启动另一个应用的activity

    1.使用action Intent i=new Intent(); i.setAction(".........."); startActivity(i); 前提条件:要启动的ac ...

  2. shell 判断文件是否存在

    举例 #!/bin/sh myFile="/var /log/httpd/access.log" if [ ! -e "$myFile" ]; then tou ...

  3. Nginx的安装配置 例子

    1.下载 2.解压 3.运行 a.双击nginx.bat b.启动Nginx 会发现进程里面已经开始运行 4.配置 a.双击打开配置文件夹里面的nginx.conf b.修改 upstream tee ...

  4. linux网络学习

    ipv4报文处理流程 1.物理层网卡收到报文,产生中断进入中断处理程序:net_interrupt,判断中断是由接收到分组引发后,控制权转移到net_rx: 2.net_rx函数分配一个新的sk_bu ...

  5. [转]逻辑斯蒂回归 via python

    # -*- coding:UTF-8 -*-import numpydef loadDataSet(): return dataMat,labelMat def sigmoid(inX): retur ...

  6. rabbitMQ学习(五)

    topic匹配模式,topic能满足匹配结果就行. 发送端: public class EmitLogTopic { private static final String EXCHANGE_NAME ...

  7. sql 查出一张表中重复的所有记录数据

    1.在面试的时候碰到一个 问题,就是让写一张表中有id和name 两个字段,查询出name重复的所有数据,现在列下: select * from xi a where (a.username) in ...

  8. 怎么部署java项目(从搭建环境说起)

    1.服务器需要安装对应开发版本的jdk 在官网下载jdk对应的jdk版本,解压到某个目录下如: root@guchen-ubuntu16-04lts:/home/guchen/usr/java# ls ...

  9. 使用SerialPort 读取外置GPS信息和使用GeoCoordinateWatcher获取内置gps的信息

    简介最近工作中需要读取gps设备的信息,平板本身有内置的gps设备,但是精度不够,就又添加了一个外置的gps.对于外置的gps,我们主要通过SerialPort类来获得串口的信息,然后对接收到的内容进 ...

  10. Redis从基础命令到实战之集合类型(Set)

    Redis集合类型的基础功能也是存储字符串列表,和列表类型的区别是字符串不能重复且没有顺序.当然,存储元素唯一性也可以通过应用程序保证,单从这一点上并没有体现出对比列表类型的特点. 其实,集合类型的一 ...