我正在运行以下代码:
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: Not found
调用堆栈:
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()
知道为什么吗?
最佳答案
System.Management
namespace 提供的功能取决于 WMI (Windows Management Instrumentation)服务。
我怀疑 WMI 服务尚未在抛出该异常的系统上启动。
出于故障排除的目的,您可以使用管理工具 → 服务实用程序进行验证。
如果事实证明是这种情况,您可以将代码包装在 try
-catch
block 中并使用 ServiceController
class启动和停止相应的服务。
关于c# - 系统管理管理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5247659/