我正在使用 WMI 收集系统信息。它在我测试过的每个系统上都运行良好,但我有一个或两个用户报告了问题。调试日志显示 WMI 代码抛出“提供程序加载失败”异常。我无法重现该问题。
用户已验证 WMI 服务正在自动模式下运行。
异常(exception)情况:
System.Management.ManagementException: Provider load failure
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
at System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()
关于如何排查和解决此问题有什么想法吗?
最佳答案
可能追踪问题根本原因的一种方法是使用 WBEMTest MS Scripting Guys 所说的工具是最简单的方法之一
"To find the provider of a WMI class..."
脚本专家:Use PowerShell to Troubleshoot “Provider Load Failure”
此 Win32_network adapter "provider load failure" 中描述了特定于 Win32_NetworkAdapter 的高级步骤Mark Wolzak 在 infoSupport 上发帖。
- 点击开始 >> 运行 >> wbemtest
- 单击“连接...”连接到命名空间
- 执行查询 'Select * From MSFT_WmiSelfEvent'
- 向下滚动到底部并跟踪以下 WMI 事件
- 查看导致问题的 dll 的任何 Msft_WmiProvider_InitializationOperationFailureEvent 或 Msft_WmiProvider_LoadOperationFailureEvent 的详细信息
感谢 WMI–Provider Load Failure在 Richard Siddaway 的博客上发帖,向我介绍此工具和具体方法。
关于c# - 如何解决 WMI 请求的 "Provider load failure"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7403164/