我正在运行以下代码:
System.Management.ManagementClass wmiNetAdapterConfiguration = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration");
System.Management.ManagementObjectCollection wmiNetAdapters = wmiNetAdapterConfiguration.GetInstances();
Log.logInfo("Net adapters:" + wmiNetAdapters.get_Count());在一些机器上,这是可以的,而在一些机器上,我得到了以下错误:
System.Management.ManagementException:找不到
呼叫堆栈:
System.Management.ManagementException: Not found
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
at System.Management.ManagementScope.InitializeGuts(Object o)
at System.Management.ManagementScope.Initialize()
at System.Management.ManagementObject.Initialize(Boolean getObject)
at System.Management.ManagementClass.GetInstances(EnumerationOptions options)
at System.Management.ManagementClass.GetInstances()知道为什么吗?
发布于 2011-03-09 15:06:37
命名空间提供的功能依赖于WMI (Windows管理工具)服务。
我怀疑WMI服务没有在抛出该异常的系统上启动。
为了进行故障排除,可以使用管理工具→服务实用程序验证。
如果是这样的话,您可以将代码包装在try-catch块中,并使用班级启动和停止适当的服务。
发布于 2017-11-24 12:56:42
我们刚刚经历了同样的问题,并且一步一步地遵循下面的链接帖子,并且能够成功地解决问题。
基本上,打开计算机管理和左侧的侧边栏到服务和应用程序下拉菜单,然后转到WMI控件。然后查看右侧的条形图,然后单击“更多操作”和“属性”。如果你和我有同样的错误,你会在这里看到它。我试着执行“从上一次备份恢复”,结果出现了一些错误。然后我点击了“现在恢复”..。我没有备份,但我看到备份文件被称为“*.rec文件”。我去了windows搜索并搜索了*.rec,它在C:\Windows\System32 32\wbem中找到了一个。它被命名为corrupted.rec,所以我没有太多的希望,似乎它想出了和以前一样的信息。所以我继续环顾四周,直到我最终回到WMI控件,发现它不再显示名称空间错误,而是显示了我的系统规范。在我看到这个之后,我打开了控制我笔记本电脑灯的软件,而IT打开了。我终于能关掉我该死的讨厌的笔记本电脑灯了。在此之后,我为WMI做了一个备份,现在我将做一个系统恢复点。
发布于 2019-05-02 01:35:57
WMI服务是为我运行的,而我使用的是管理员帐户。
在使用运行命令时,我得到了完全相同的错误和堆栈跟踪,例如
cd C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\
rsconfig.exe -c -s sqlserver\instance -d dbName -a SQL -u user -p pass我做错的是实例名有它自己的参数-i,它修复了它:
rsconfig.exe -c -s sqlserver -i instance -d dbName -a SQL -u user -p pass若要检查预期的参数,请运行:
rsconfig.exe /?更新:
这实际上是不正确的,如果您查看预期的参数,它说明服务器名称也必须包括实例名称,您就不能有引号,如果实例名称包含转义它可能需要的$标志,请参阅这里获得更多信息:https://stackoverflow.com/a/56370766/495455
https://stackoverflow.com/questions/5247659
复制相似问题