第 3 课:从 IIS 配置数据库来组织数据
在第 2 课中,我们学习了 Windows Management Instrumentation (WMI) 的一般结构:提供程序的名称空间包含类,而类又包含元素,而元素又包含与这些元素关联的属性和方法。除了从“根”名称空间中继承的那些类之外,IIS WMI 提供程序还实现了五个不同类的元素。图 2 说明了 IIS WMI 提供程序是如何遵循 WMI 的结构的。箭头表示各个元素之间关联的示例。
图 2
CIM_ManagedSystemElement
CIM_ManagedSystemElement 类包含对应于配置数据库架构的节点的元素。例如,IIsWebServer 元素是 IIS Web 服务器的实例的示意图。IIsWebVirtualDir 元素是 Web 虚拟目录的实例的示意图。这些元素包含只读属性和方法,而 CIM_Setting 类的匹配元素包含节点的可写属性。例如,CIM_ManagedSystemElement 类中的 IIsWebServer 元素包含 IIS Web 服务器的只读属性,以及可以在 CIM_Setting 类的 IIsWebServerSetting 元素中设置属性的方法。系统按此方式进行拆分以便利用 CIM_ManagedSystemElement 类中可能的继承性。在本教程的模块 2 中,此结构的优点在 CIM Studio 中更加明显。
CIM_Setting
正如上文所提及的,CIM_Setting 类的元素对应于配置数据库架构的节点,并且它们包含可以在那些节点进行设置的属性。操作那些属性的方法包含在 CIM_ManagedSystemElement 类的匹配元素中。当您开始学习本教程中模块 2,第 2 课时,请记住此类。此外,还要记住,此类中的 IIsWebServerSetting 元素和 CIM_ManagedSystemElement 类中的 IIsWebServer 元素都是指 Web 服务器上的网站,但 IIsWebServer 元素包含网站的只读属性,而 IIsWebServerSetting 元素包含网站的可写属性。
IIsStructuredDataClass
这是一种独特的类,它所包含的元素的数据是以 Active Directory 服务界面 (ADSI) 的复杂格式来表示的。例如,ADSI 中的 ServerBindings 属性是格式必须为 IP:Port:Hostname 的字符串。如果各个部分次序颠倒,或缺少冒号,就会出现错误。在 WMI 中,创建了一个名为 ServerBinding 的元素类,其三个属性对应于 IP 地址、端口号和主机名。将这些元素的实例视为对象。在 WMI 中,元素(如 CIM_Setting 类的 IIsWebServerSetting 元素)可以包含名为 ServerBindings 的属性,该属性是 ServerBinding 对象的阵列。
CIM_Component
这是一个关联类,它将 CIM_ManagedSystemElement 类中的每个元素映射到 CIM_ManagedSystemElement 类中的另一个元素,这样元素便可以模拟 ADSI 内嵌项目。此类的元素的属性是对两个关联元素的引用。CIM_ManagedSystemElement 类中的各个元素之间的每个可能的关联都通过 CIM_Component 类中的元素来表示。
CIM_ElementSetting
这是一个关联类,它将 CIM_ManagedSystemElement 类中的每个元素映射到 CIM_Setting 类中的其匹配元素。此类的元素的属性是对两个关联元素的引用。CIM_ManagedSystemElement 类中的元素和 CIM_Setting 中的元素之间的每个可能的关联都通过 CIM_ElementSetting 类中的元素来表示。
上文描述的类表示了配置数据库架构文件的结构。每个类中的元素的实例都包含当前系统信息,这些信息您可以在配置数据库配置文件或在 IIS 管理器中看到。例如,在 IIS 6.0 的默认安装中,CIM_ManagedSystemElement 类的 IIsWebVirtualDir 元素和 CIM_Setting 类的 IIsWebVirtualDirSetting 元素都包含 Web 虚拟目录的三个实例:一个是 W3SVC/1/Root 的实例,一个是 W3SVC/1/Root/Scripts 的实例,还有一个是 W3SVC/1/Root/Printers 的实例。实例在其属性中包含当前系统数据,如到虚拟目录的物理路径。IIsWebVirtualDir 实例的属性是只读属性,而 IIsWebVirtualDirSetting 实例的属性是可写属性。图 3 说明了 CIM_ManagedSystemElement 类的 IIsWebVirtualDir 元素的架构以及该类的三个可能的实例。
图 3
© 1997-2003 Microsoft Corporation。保留所有权利。