分享

VC知识库文章 - WMI 常见问题解答

 nbtymm 2006-11-24
MSDN原文出处:Windows Management Instrumentation FAQ

问:什么是WMI

答:WMI就是 Windows Management Instrumentation(Windows 管理规范)。它是 Windows 中的一个核心管理技术。

问:WMI的主要益处是什么

答:WMI 为访问大量的 Windows 管理数据和方法的提供了一个统一的机制。WMI通过脚本、C++程序接口、.NET类(系统管理)和命令行工具(WMIC)提供了对这个信息的访问。WMI的功能还包括事件、远程、查询、查看、计划和实施用户扩展及更多内容。

问:谁应该使用WMI

答:WMI对很多人都有用:

  • 管理员可使用 WMIC 的命令行管理能力。
  • 脚本程序员可使用 WMI 脚本来自动进行任务管理。
  • 通过编写一个 WMI 支持程序,系统开发人员可使用 WMI 发布他们的检测工具。
  • 通过编写一个 WMI 支持程序,应用程序开发人员可使用WMI发布他们的应用程序管理检测工具。
  • 使用丰富的查询和事件特性,管理应用程序(如监视器)的开发人员可使用WMI访问Windows工具。

问:在哪里可以找到更多关于WMI的信息

答:您可以通过 Microsoft.com 及 MSDN Web 站点上找到许多相关白皮书--请以"WMI"和"Windows Management Instrumentation"为关键字进行搜索。

问:关于WMI,有可供我阅读的书吗

答:是的,关于WMI已经出版了许多书籍。获取相关书籍列表的最简单方式就是一个声誉卓著的在线书店,并以"WMI"或"Windows Management Instrumentation"为关键字进行搜索。

问:什么是WMI存储库

答:存储库是一个WMI存储容器, WMI在其中储存了结构和静态实例。存储库是基于文件系统的。

问:在Windows CE上可以使用WMI吗

答:现在还不可以。

问:我能使用什么协议来访问WMI

答:目前,WMI使用DCOM协议。

问:我能用XML格式去检索WMI信息吗

答:是的。可使用"gettext"选项或使用WMIC。注意XML与现在的DMTF标准是兼容的,因此它也是基于DTD的。

问:什么是WMIC

答:WMIC(其发音是wee‘‘mek)是Window Management Instrumentation Command-line(Windows管理规范命令行)的缩写。它为WMI提供了一个简单的命令行界面,因此你可以利用WMI来管理运行Microsoft Windows的计算机。WMIC与现有的shell和实用命令交互操作,并且可以很方便地通过脚本或其它面向管理的应用程序进行扩展。WMIC在Windows XP Professional和Windows .NET Server 2003等操作系统上是可用的。WMIC能让你:

  • 浏览WMI计划,查询它们的类和实例,通常使用"别名"或"友好名称",这就使WMI看起来更直观。
  • 只用一个命令就可以让本地计算机、远程计算机或多台计算机一起工作。
  • 定制别名和输出格式以满足你的需要。
  • 创建并执行一个基于WMIC的脚本(批处理文件)。

WMIC在你第一次运行的时候进行安装。要启动WMIC (从"开始"->"运行" ,或在命令行提示符下),输入wbemtest。在任何地方输入"/?"或"-?"可得到帮助。

问:在哪里能找到WMI SDK

答:可以从 Platform SDK Redistributables 站点中得到WMI SDK。

问:什么是WBEM测试

答:Windows Management Instrumentation(WMI)测试程序,也叫做WBEMTest,是一个在Windows Management Instrumentation(WMI)服务程序和WMI应用程序开发期间,用于查看和更改公共信息模型(Common Information Model,CIM)类、实例和方法的常规工具。
你还可以使用WBEMTest来解决WMI和依赖于WMI的程序中的问题。
使用WBEMTest来执行下面的任务:

  • 创建、列举及删除CIM类和实例。
  • 执行方法。
  • 运行查询。
  • 显示关于类和实例的受管理对象格式(Managed Object Format,MOF)代码。

WBEMTest和操作系统一起运行。想要启动WBEMTest (从"开始"->"运行",或者是命令行提示符下),请输入wbemtest。

问:WMI会生成什么样的日志

答:默认情况下,WMI生成包含错误信息的日志文件。日志文件位于%windir%/system32/wbem/logs目录中。

  • 更详细的记录可通过将HKLM/Software/Microsoft/WBEM/Cimom/Logging 的值改为2来激活,或者将其设为0来取消详细记录。
  • 每个服务程序的详细记录可由HKLM/Software/Microsoft/WBEM/Providers/Logging激活。

问:我怎样才能纠正一个有缺陷的WMI脚本

答:最容易的方式是删除所有"On Error Resume Next"(vbscript脚本)或"Try…Catch"(jscript脚本),并且让脚本宿主捕获错误。这样,通常情况下,你就会得到一个详细的错误描述信息以及出错脚本的行的位置。如果错误消息不充分,下一步就是执行与在WBEMTest中运行脚本相同的步骤。

问:怎样才能重建存储库

答:如果你删除或重命名了存储库,第一个WMI操作就是强制Winmgmt重建这个存储库。只有标记为自动恢复的MOF才能被"re-mofcomp‘‘d"(意思是你可能丢失一些静态数据,除非你已经在其它位置对它作了备份)。

从命令行中输入:

Net stop winmgmt /y
Rename %windir%/system32/wbem/repository %windir%/system32/wbem/repository.old 

问:在各个Windows平台上运行的WMI都是什么版本

答:

  • Windows 95/Windows 98:WMI 1.0 build 450 (加载项)
  • Windows NT (SP4后的版本):WMI 1.1 build 698 (加载项)
  • Windows Me/Windows 2000:WMI 1.5 build 1085 (作为操作系统的一部分被安装)
  • Windows XP/Windows .NET Server 2003:操作系统构造的一部分,采用了操作系统的版本号。

版本早于1.5的所有平台都能升级到1.5版。WMI1.5版可以从MSDN上的Windows Management Instrumentation (WMI) CORE 1.5中下载。

问:WMI和性能计数器间有什么关系

答:性能计数器通过WMI的COM和脚本接口得到使用。WMI还支持规范化的性能计数器(通过写一个WMI高性能提供者)。通过运行"Perfmon /wmi",高性能提供者支持的性能计数器可以出现在Perfmon中。在Windows XP及后续产品中,默认情况下这些计数器就会出现在Perfmon中。

问:如果我认为我找到了程序中存在的一个错误,我应该怎样做

答:请参阅相关产品反馈
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多