我们已经讨论了相当一部分的内容,但是还留有一个细节没有谈到,那就是如何确定哪些资源是通过 WMI 公开的。幸运的是,您可以使用多种不同工具来浏览 CIM 架构并检查 WMI 托管资源的类定义。
| • |
WMI 控件。WMI 控件 (wmimgmt.msc) 是一个 Microsoft 管理控制台 (MMC) 管理单元,它允许您在本地或远程计算机上配置 WMI 设置。尽管您不能使用 WMI 控件浏览 CIM,但是可以使用该工具的“安全性”选项卡来确定在本地或远程计算机上可用的 CIM 命名空间。有关更多使用 WMI 控件的信息,参阅 Windows 2000 帮助或 Windows XP 帮助和支持中心内的 WMI 控件概述。 |
| • |
WMI 测试器。WMI 测试器 (wbemtest.exe) 是一个用于与 WMI 基础结构交互的通用、图形化工具。您可以使用 WMI 测试器来浏览 CIM 架构并检查托管资源类定义。WMI 测试器还可用于执行与基于 WMI 的脚本执行的相同的操作,例如检索托管资源的实例和运行查询。WMI 测试器是在所有启用了 WMI 的计算机上默认的 WMI 安装的一部分,因此 wbemtest.exe 是一个出色的 WMI 学习和疑难解答工具。有关使用 WMI 测试器的信息,参阅 Windows XP 帮助和支持中心内的 WMI 测试器概述。 |
| • |
WMI 命令行。作为 Windows XP 的一部分发布的 WMI 命令行工具 (wmic.exe) 提供一个到 WMI 基础结构的命令行接口。可以使用 wmic.exe 执行来自命令行的常见 WMI 任务,包括浏览 CIM 和检查 CIM 类定义。有关使用 WMI 命令行工具的信息,参阅 Windows XP 帮助和支持中心内的“使用 WMI 命令行 (WMIC) 工具” |
| • |
CIM Studio。作为 WMI SDK 的一部分,CIM Studio 提供一个基于 Web 的界面实现与 WMI 基础结构交互。与 WMI 测试器一样,您可以使用 CIM Studio 来浏览 CIM 架构、查看类定义并检索托管资源的实例。通过 CIM Studio 的超级用户界面可轻松查看类关系和关联,而且 CIM Studio 提供一个基本的搜索工具 — 它们是 WMI 测试器工具所不具备的两个功能。要使用 CIM Studio,您必需下载并安装 WMI SDK。您可以从 Windows Management Instrumentation (WMI) SDK 下载 WMI SDK。 |
| • |
EnumClasses.vbs 和 EnumInstances.vbs。Windows 2000 Server 资源工具箱包括很多利用了 WMI 的强大功能的脚本。这里所列出的三个脚本是常见脚本,可用于浏览 CIM 架构、查看类定义以及检索托管资源的实例。 |
您应该查看的一些附加资源包括:
| • |
WMI SDK 文档。WMI SDK 包含一个由标准的 WMI 提供程序提供的类的完整列表。您可以访问 MSDN 联机库中的 WMI SDK 文档。 |
| • |
TechNet 脚本中心。如果您愿意,可以把它叫做无用的废物,但是TechNet 脚本中心包含数百个来自即将推出的 System Administration Scripting Guide 中的基于 WMI 的示例脚本。 |
WMI 测试器 (wbemtest.exe) 演练
现在,您对可用于浏览和查看 CIM 的工具已经有了一些认识,让我们使用 WMI 测试器 (wbemtest.exe) 来检查 Win32_Process 类定义并修改清单 2,以便从在您的本地计算机上运行的进程检索一些属性。
|
1. |
打开一个命令提示,键入 C:\>wbemtest.exe,按下 Enter 来开始 WMI 测试器工具。请注意,大部分按钮在主 WMI 测试器窗口上是被禁用的,这说明此时您没有连接到 WMI。 |
|
2. |
单击 Connect? 连接到本地或远程计算机上的 WMI 服务。显示“连接”对话框,它提供一个标记为 Namespace 的文本输入区域,该区域默认值为 root\default。将 Namespace 区域的值更改为 root\cimv2,单击“连接”对话框的 Connect 按钮返回到主 WMI 测试器窗口。 |
|
3. |
主窗口中左上角的命名空间标识符应该显示为 root\cimv2。请注意,所有的按钮现在都已启用,这说明在当前凭据环境下,您已经成功连接到本地主机上的 WMI。单击 Enum Classes? 打开“超类信息”对话框。 |
|
4. |
在“超类信息”对话框中,不要填写 Enter superclass name 区域,单击 Recursive 选项,单击 OK 以枚举 root\cimv2 名称空间中定义的所有 CIM 类。 此时,您可能应该正在查看一个列出了数百个类定义的“查询结果”对话框。类的数量主要取决于您正在运行的 Windows 的版本。例如,如果使用 Windows 2000,则您应该会看到大约 600 个类定义。如果运行 Windows XP,则您应该会看到大约 900 个类定义。 请注意,列于“查询结果”对话框顶部的类是以两个下划线为开头的。这些是系统类。系统类是预定义的 CIM 类,支持内部 WMI 配置与操作,例如提供程序注册、命名空间安全性及事件通知等。现在,忽略系统类,向下滚动“查询结果”对话框直至看到以 CIM_ 开头的类。 名称以 CIM_ 开头的类是由 DMTF 维护的核心与公共基类。继续向下滚动直至到达以 Win32_ 开头的类。 名称以 Win32_ 开头的类是 Microsoft 扩展类,表示 Windows 特定的托管资源。如果这是您第一次检查 root\cimv2 命名空间,您可能希望熟悉 root\cimv2 命名空间中的类的完整集合,尤其是有 Win32_ 前缀的类。 |
|
5. |
向下滚动“查询结果”对话框直至到达 Win32_Process 类,双击该类名打开 Win32_Process 对话框的对象编辑器。 |
|
6. |
“对象编辑器”对话框显示被选定类的定义和实现的详细信息(属性和方法)。回忆一下我们之前讨论的内容 — 类定义是 WMI 可管理资源的蓝图。 选择 Hide System Properties 复选框隐藏系统属性。剩余的 Win32_Process 属性表示您可以从在本地或远程计算机上运行的进程检索的信息。 要完成您的 WMI 脚本练习,尝试去检索 Name、Handle 和 ProcessID 属性。使用前面的三个清单之一作为模板,试着在进行到第 7 步之前运行脚本。 注要在本地计算机上运行脚本,将 strComputer 变量的值设置为“.”(引号内的一个单点)。 |
|
7. |
在运行新创建的 GetProcesses.vbs 脚本之后,您可以用 WIMI 测试器验证脚本的结果。在 Win32_Process 对话框的对象编辑器中,单击 Instances。产生的查询结果对话框列出在计算机上运行的进程的实例。双击一个指定的进程实例,查看该实例的详细信息。 |
浙公网安备 33010602011771号