WMI 客户端应用程序疑难解答

WMI 包含一组类,用于对使用 WMI 提供程序的客户端应用程序 进行故障排除 。 疑难解答事件类与 WMI 事件类耦合在一起,以便您可以使用捕获的故障排除事件日志来跟踪应用程序的执行情况。

下面的列表包含排查事件类问题的示例:

以下过程说明如何对应用程序执行进行故障排除。

设置 WMI 故障排除

  1. 创建并编译 MOF 文件,以使用 WMI 日志记录事件使用者。
  2. 运行客户端应用程序。
  3. 查看所有提供程序操作和失败事件的故障排除日志文件,并分析日志以诊断遇到的客户端问题。

另一种故障排除方法是通过在 根 \ cimv2 命名空间中枚举 MSFT _ 提供程序来查看当前位于计算机缓存中的提供程序列表。 此类中有一些方法,使你能够加载和卸载提供程序以进行调试或设置。

下面的代码示例使用 WMI 日志记录事件使用者来捕获父事件类的所有事件,从而捕获所有提供程序操作事件。

#pragma autorecover
#pragma namespace("\\\\.\\root\\subscription")

instance of __EventFilter as $Filter
{
  Name = "ProviderOperationEvents" ;
  EventNamespace = "root\\cimv2" ;
  Query = "SELECT * FROM MSFT_WmiProvider_OperationEvent" ;
  QueryLanguage = "WQL" ;
} ;

Instance of LogFileEventConsumer as $Consumer
{
  Name = "ProviderOperationEvents" ;
  FileName = "C:\\test.txt" ;
  Text = "Operation - %__TEXT%" ;
} ;

instance of __FilterToConsumerBinding
{
  Filter = $Filter ;
  Consumer = $Consumer ;
  MaintainSecurityContext = TRUE ;
} ;

当错误消息指示提供程序加载失败时,请使用 MSFT _ WmiProvider _ LoadOperationFailureEvent 标识导致错误的提供程序。

WMI 故障排除

WMI 故障排除类