2009-02-18 160 views
7

我正在使用WMI收集系统信息。它可以在我测试过的每个系统上正常工作,但我有一两个报告问题的用户。调试日志显示WMI代码正在抛出“提供程序加载失败”异常。我一直无法复制这个问题。如何解决WMI请求的“提供程序加载失败”?

用户已验证WMI服务正在自动模式下运行。

这里的例外:

System.Management.ManagementException: Provider load failure 
    at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode) 
    at System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext() 

如何排查并解决此问题的任何想法?

回答

2

您可能要确认所有dll已正确注册(请参阅http://msdn.microsoft.com/en-us/library/bb961987.aspx)。

+3

虽然它被标记为答案,但它不是许多案例的解决方案。通常只有在查询某些表的实例(例如,`Win32_NetworkAdapter`:http://stackoverflow.com/questions/7403164/managementexception-provider-load-failure-error-when-accessing-win32-networkadap)和其他表工作正常。这也发生在.NET 2.0上,甚至没有在这个答案的链接中提到的* System.Management.Instrumentation.dll *。在这些情况下出现这种错误的原因可能是错误的第三方驱动程序实现,你无能为力。 – bitbonk 2011-09-14 11:44:31

1

WMI的注册的WMI(静态类都举行。

WMI CIM工作室从MS,IIRC WMI工具的(部分)是探索这些类(当然不是写大量的查询)更容易有用。

2

在用户帐户控制操作系统关闭UAC

在我的情况:罗斯的有关应答并没有解决我可以加载一些WMI提供程序(逻辑磁盘),而不是其他(IIS)WMI Explorer的工具(例如。作为PowerGui)会显示提供者,这表明安全策略可以防止加载WMI提供者关闭所有加载没有错误的WMI提供程序。

当然,你可能想离开UAC。如果我找到所需的特定政策,我会更新此答案。

+0

或者,只需运行提升的工具(“以管理员身份”)。奇怪的是,在本地访问MicrosoftIISv2提供程序需要提升,即使您可以远程访问而不会出现问题... – Jaykul 2011-01-20 15:08:03

2

所以,我知道这是旧的,但我有上述确切的问题。对我来说真的很难弄清楚,所以我想我会回应,希望它能帮助别人。

我正在尝试加载IIS WMI提供程序并获取“提供程序加载失败”错误。我可以通过使用wbemtest.exe程序运行我的WMI查询来重现此问题。

我启动了procmon.exe来显示正在加载的内容(或者在我的情况下加载失败),果然,wmiprvse.exe正在加载注册表键,说inetsrv位于C:\ windows目录 - 这在我的机器上不存在(C:\ windows已经被c:\ winnt所取代)

更新密钥解决了我的问题,但这里的重点是我有一次尝试为什么我得到这个错误,并且在执行我的WMI查询时运行procmon指出我正确地解决了这个问题。希望它也适合你。

3

一个办法可能追查问题的根本原因是使用WBEMTest工具的MS脚本专家说的是最简单的方法

“要找到一个WMI类的供应商之一。 ..”

脚本专家:具体到在Win32_NetworkAdapter在infoSupp本Win32_network adapter "provider load failure"发布者马克Wolzak描述Use PowerShell to Troubleshoot “Provider Load Failure”

的高级步骤ORT。

  • 点击开始>>运行>> WBEMTEST
  • 点击 '连接...' 来连接到一个命名空间
  • 执行查询 'SELECT * FROM MSFT_WmiSelfEvent'
  • 向下滚动至底部,并追踪以下WMI事件
  • 看任何Msft_WmiProvider_InitializationOperationFailureEvent或Msft_WmiProvider_LoadOperationFailureEvent为DLL的细节,导致了问题

感谢Richard Siddaway的博客中的WMI–Provider Load Failure发帖,指出我使用了这个工具和具体的方法。

+1

真的吗?为什么要投票?我实际上使用这些步骤来解决我们的开发系统中的问题。 – 2013-04-09 18:14:58