每个 Windows Management Instrumentation (WMI) 提供程序都为该提供程序所特有的类维护其自己的名称空间。每个 WMI 提供程序名称空间都是分层次地描述域中对象的类定义的集合。IIS WMI 提供程序类的名称空间是 MicrosoftIISv2。脚本编写者和程序员使用 MicrosoftIISv2 名称空间来读取和配置 IIS 配置数据库。
MicrosoftIISv2 名称空间中定义的类对应于 IIS 配置数据库架构,这意味着对于每个唯一的配置数据库项,至少有一个为其定义的 WMI 类。大多数配置数据库项都有多个为它们定义的 WMI 类:包含只读属性的 WMI 元素类;以及包含可写属性的 WMI 设置类。
下例显示了一些配置数据库项和与它们对应的 WMI 元素类(这些类的名称与 ADSI 类完全相同)以及设置类之间的关系。
通用名称 | 元素类 | 设置类 |
---|---|---|
Computer | ||
WWW service | ||
Web server | ||
Web virtual directory | ||
FTP service |
第三种 WMI 类(关联类)公开了元素类和设置类之间的关系,以及元素类和其他元素类之间的关系。
下面将描述三种类型的 WMI 类及其用法。
WMI 元素类公开了下面几种无法更改或写入的类型属性:
例如,下面是 WMI 元素类
由于没有包含只读方法的 WMI 类,因此可以调用和执行 WMI 元素类方法。例如,可以从脚本或程序调用
可以使用 WMI 元素类执行下列操作:
WMI 设置类公开读取/写入属性,可以使用脚本或程序更改这些属性。设置类不包含方法。
例如,IIsWebVirtualDirSettings 设置类(
当直接设置配置数据库属性时,请使用设置类。只需要使用 WMI 元素类来读取信息。在下面的 JScript 代码示例中,脚本使用
var providerObj = GetObject("winmgmts:/root/MicrosoftIISv2");
var vdirObj = providerObj.Get("IISWebVirtualDirSetting='W3SVC/1/ROOT'");
vdirObj.AccessFlags = 0;
vdirObj.Put_();
还可以使用 WMI 设置类来设置可写配置数据库属性。
WMI 元素类可以与其他元素类或与设置类关联。这些关联本身也是类。可以使用 WMI 关联类来查找元素或与任何元素对象关联的设置对象。关联类名是通过将两个名称用下划线分隔来区别的,如 IIsComputer_IIsComputerSetting 或 IIsComputer_IIsMimeMap。
下面的列表说明了元素类
关联类使您可以轻松地找到 WMI 元素类的实例和关联的 WMI 类的实例之间的关联。例如,通过使用
同样,可以找到一个元素类的所有子类。例如,要查找一个 Web 虚拟目录的子类,请使用关联类 IIsWebVirtualDir_IIsWebVirtualDir。