WMI(Windows管理规范)常见问题解答
2010年10月30日
问:什么是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中。
问:如果我认为我找到了程序中存在的一个错误,我应该怎样做?
答:请参阅相关产品反馈。
2010年10月30日
问:什么是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中。
问:如果我认为我找到了程序中存在的一个错误,我应该怎样做?
答:请参阅相关产品反馈。