通用信息模型

通用信息模型 (CIM) 是一个可扩展并面向对象的数据模型,含有与企业各个部门有关的信息。 CIM是分布式管理任务组 (DMTF) 所维护的跨平台标准。 通过 WMI,开发人员可以使用 CIM 来创建表示硬盘驱动器、应用程序、网络路由器甚至用户定义的技术(例如联网空调)的类。 通过查看和更改 CIM 类,管理员可以控制企业的各个方面。 例如,管理员可以查询表示桌面工作站的 CIM 类实例, 然后,管理员可以运行一个脚本来修改该 CIM 工作站实例。 WMI 会将对工作站 CIM 类实例所做的任何更改转换为对实际工作站所做的更改。

CIM 是一种与语言无关的编程模型,它使用面向对象的技术来描述企业。 使用三个级别的父/子继承,CIM 可以同时描述企业的一般和特定方面。 CIM 还使用称为 "关联" 的技术将企业模型的不同部分链接在一起,并使用架构来区分不同的管理环境。

CIM 旨在提供管理环境中逻辑和物理对象的一致视图。 CIM 使用称为 "类" 的面向对象的构造来表示托管的对象。 与 c + + 或 COM 类一样,CIM 类可以包括用于描述数据的属性和用于描述行为的方法。 与一组 COM 类一样,CIM 并不绑定到任何平台。 但是,WMI 包含对 CIM 的扩展,用于描述 Microsoft Windows 操作系统平台。

CIM 定义了三个级别的类:

  • 核心

    核心类表示适用于所有管理区域的托管对象。 这些类提供了一个基本词汇,用于分析和描述托管系统。 _ _ 参数_ _ SystemSecurity类是核心类的示例。

  • 通用

    常见类表示适用于特定管理区域的托管对象。 但是,公共类与特定的实现或技术无关。 常见类是核心类的扩展。 CIM _ UnitaryComputerSystem类是一个公共类的示例。

  • 外延支持

    扩展类表示一些托管对象,这些对象是对公共类的特定于技术的补充。 扩展类通常适用于特定平台,如 UNIX 或 Microsoft Win32 环境。 Win32 程序类是扩展类的一个示例。 _

开发人员可以从其他类派生类。 派生类表示父类的特殊情况,继承了父类的所有属性和方法。 例如,Win32 程序从 CIM _ UnitaryComputerSystem继承。 _ 继承关系可以使用系统属性 _ _ 派生_ _ Dynasty_ _ 超类 来确定。 _ _ 派生 系统属性是一个字符串数组,其中列出了包含在 _ _ Dynasty 中的整个继承链,并包括根类。 _ _ 超类 系统属性显示当前类的直接父级。

WMI 还支持关联。 关联是两个或多个不同的 WMI 类之间的关系。 例如,正在运行的工作站通常有一个处理器。 WMI association 类 win32 _ ComputerSystemProcessor 将工作站类 win32 程序 程序 _ 与 processor 类 win32 _ 处理器关联起来。 但是,association 类不必同时关联两个相关的类。 事实上,association 类的主要目的是显示不一定相互依赖的类之间的关系。 有关详细信息,请参阅 声明关联类

最后,WMI 支持架构的概念。 在 WMI 上下文中,架构是一组描述特定管理环境的类。 Microsoft Windows 软件开发工具包 (SDK) 使用两个架构: CIM 架构和 Win32 架构。 CIM 架构类名称以 cim _开头,win32 架构类名称以 win32 _开头。 CIM 架构包含核心和常见类的定义,而 Win32 架构包含 Win32 环境所共有的扩展类的定义。 但是,第三方供应商可以创建自己的架构来描述特定于供应商的要求。 由于架构被设计为可无限扩展,因此开发人员始终可以添加新类来描述现有环境中的新托管对象。 然而,为简单起见,大多数供应商选择创建从 CIM 或 Win32 架构继承属性的架构。