第 2 课:查看 IIS WMI 提供程序的属性和方法

现在您已经打开了三个 IIS 视图,本课将帮助您在 CIM Studio 中浏览属性和方法时在这三个视图之间进行连接。

本课假定您已经安装了万维网发布服务(WWW 服务),但如果您安装了 FTP 服务、SMTP 服务或 NNTP 服务,也可以跟着学习。如果您安装了 WWW 服务之外的服务,属性名称会不同于本课中列出的属性名称。

要点 要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"。

查看默认网站

  1. 在 IIS 管理器中,展开本地计算机,然后展开“网站”文件夹。
  2. 右键单击“默认网站”,然后单击“属性”。
  3. 在“默认网站属性”框中,单击“网站”选项卡,然后验证“默认网站”是否位于“描述”框中。
  4. 在“默认网站属性”框中,单击“主目录”选项卡,然后验证 C:\Inetpub\Wwwroot 是否位于“本地路径”框中。
  5. 打开记事本,然后打开 MetaBase.txt,该文件是 IIS 配置文件。
  6. 从记事本的“编辑”菜单中,单击“查找”,然后在“查找内容”框中,键入“默认网站”。将出现下面的文字:
    <IIsWebServer Location="/LM/W3SVC/1"
        AppPool
        DefaultDoc="Default.htm,Default.asp,index.htm,iisstart.asp,Default.aspx"
        SecureBindings=":443:"
        ServerBindings=":80:"
        ServerComment="默认网站"
        ServerSize="1"
    >
    </IIsWebServer>
    
    配置数据库文件使用类似于 HTML 的可扩展标记语言 (XML)。默认网站是 IIsWebServer 类的实例。
  7. ServerComment 属性与 IIS 管理器中的“描述”框匹配。要查找与 IIS 管理器中的“本地路径”框匹配的属性,请在 MetaBase.txt 文件中搜索 C:\Inetpub\Wwwroot。将出现下面的文字:
    <IIsWebVirtualDir Location="/LM/W3SVC/1/ROOT"
        AccessFlags="AccessRead | AccessScript"
        AppFriendlyName="Default Application"
        AppIsolated="2"
        AppPool
        AppRoot="/LM/W3SVC/1/ROOT"
        HttpErrors="400,*,FILE,F:\WINNT\help\iisHelp\common\400.htm"
        ...
        Path="c:\inetpub\wwwroot"
    >
    </IIsWebVirtualDir>
    
    默认网站也表现为虚拟目录,或者换句话说,是 IIsWebVirtualDir 类的实例。这是因为所有网站都必须有一个根虚拟目录(注意每个类的 Location 属性之间的区别)。Path 属性与 IIS 管理器中的“本地路径”匹配。默认网站的属性页显示 IIsWebServer 属性和 IIsWebVirtualDir 属性。
  8. 在记事本中打开 IIS 架构文件 MBSchema.txt,然后搜索 IIsWebServer 类的架构,直到找到下面一行:
    <Collection 
        InternalName="IIsWebServer"
        MetaFlagsEx="NOTABLESCHEMAHEAPENTRY | CONTAINERCLASS"
        MetaFlags="HASUNKNOWNSIZES"
        ContainerClassList="IIsObject,IIsCertMapper,IIsFilters,IIsWebVirtualDir"
        InheritsPropertiesFrom="MetabaseBaseClass"
    >
    
    属于 IIsWebServer 类的所有属性,包括 ServerComment,都在此行中。
  9. 在 MBSchema.txt 文件中,搜索 IIsWebVirtualDir,直到找到下面一行:
    <Collection
        InternalName="IIsWebVirtualDir"
        MetaFlagsEx="NOTABLESCHEMAHEAPENTRY | CONTAINERCLASS"
        MetaFlags="HASUNKNOWNSIZES"
        ContainerClassList="IIsWebDirectory,IIsWebFile,IIsWebVirtualDir,IIsObject"
        InheritsPropertiesFrom="MetabaseBaseClass"
    >
    
    Path 属性的架构在此行中。
  10. 在记事本中打开 IisWmi.txt,并搜索 IIsWebServer,直到找到下面一行:
    class IIsWebServer : CIM_LogicalElement
    这是 IIsWebServer 类的定义,WMI 使用该类访问 IIS 网站的任何实例。IIsWebServer 是 CIM_LogicalElement 类的子类,而 CIM_LogicalElement 类又是 CIM_ManagedSystemElement 类的子类。请注意作为此类的成员列出的属性比 IIsWebServer 的配置数据库架构 <Collection> 标记内列出的属性少得多。
  11. 也许您可以回想起模块 1,第 3 课所学的内容,CIM_ManagedSystemElement 类只包含对象的只读属性和方法。查看 IisWmi.txt 文件中的上述摘录并查找以 [Implemented 开头的行。这些行定义了包含在 IIsWebServer 类中的方法。所有可写属性都在 CIM_Setting 类中的匹配元素类内,在这种情况下,在 IIsWebServerSetting 内。
  12. 在 IisWmi.txt 文件中,搜索 IIsWebServerSetting,直到找到下面一行:
    class IIsWebServerSetting : IIsSetting
    
    ServerComment 属性的定义在此行中。所有属性都以 [Key 或 [read 开头。[Key 表示属性是元素的标识项,并且通常是 Name 属性。

    注意 注意 CIM Studio 可以以图形方式显示 IIS MOF 文件(或任何服务的 MOF 文件)。作为一个附带的优点,CIM Studio 还可以显示所有类的实例,这样,您就可以查看 Web 服务器上的当前配置设置。

  13. 请查看包含 CIM Studio 的 Internet Explorer 窗口。如您在 IisWmi.txt 文件中所见,IIsWebServer 类是 CIM_LogicalElement 类的一个子类,而 CIM_LogicalElement 类又是 CIM_ManagedSystemElement 类的一个子类。
  14. 展开 CIM_ManagedSystemElement,然后展开 CIM_Logical。
  15. 单击 IIsWebServer。只读属性、方法和关联都显示在右侧框架中。Name 属性带有一个项图标标记,以将其标识为元素的项。

查看 IIsWebServer 类的实例(查看服务器上的网站)

当您编写管理脚本以读取或更改配置数据库中的属性时,它将帮助您使用配置数据库文件、IIS MOF 文件或 CIM Studio 以了解对象的可用属性。CIM Studio 的一个优点是,您可以查看需要传递到方法的参数。

查看方法的参数

  1. 再次单击“Instances”以回到示意图。
  2. 单击“Methods”选项卡。
  3. 右键单击方法名称,然后单击“Edit Method Parameters”。将出现列出方法的各种参数的一个窗口。尽管没有 IIsWebServer 对象的方法的参数,但是有 IIsWebService 对象的参数。

在模块 1,第 2 课中,您已学习了 WMI 中的组织是受继承的需要控制的。IIsWebService 类就是一个典型示例。IIS 服务通过作为基本服务类的子类来利用基本服务类的继承性。要查找 IIsWebService,请在 CIM_ManagedSystemElement、CIM_Service、Win32_BaseService、Win32_Service 中查看。这一级别的嵌套不会使编程访问变难,因为您可以在编写脚本时直接引用 IIsWebService 类。

查看 IIsWebService 对象的参数

  1. 单击左侧框架中的 IIsWebService。
  2. 单击右侧框架中的“Methods”选项卡。
  3. 右键单击 CreateNewSite,然后单击“Edit Method Parameters”。

如果您编写一个使用此方法创建新网站的脚本,您需要使用下列语法调用该方法:

siteID = IIsWebServiceObj.CreateNewSite("My New Site", arrBindings, "C:\Inetpub\NewSite")

ServerID 参数(第四个参数)是可选的,该参数可以通过用鼠标右键单击 CIM Studio 的右侧框架中的 ServerId,然后单击“Parameter Qualifiers”看到。将“OPTIONAL”限定符设置为 true。

查看 IIsWebServer 对象的可写属性

回到 IIsWebServerSetting 的示意图,然后单击“Associations”选项卡。这是 WMI 如何确定 IIsWebServerSetting 与 CIM_ManagedSystemElement 类的 IIsWebServer 关联的方式。此关联在 CIM_ElementSetting 类下以 IIsWebServer_IIsWebServerSetting 类表示。

回到 IIsWebServer 类,然后单击“Associations”选项卡。那里有与 IIsWebServerSetting 的关联,也有其他几个关联。其他关联表示一个类包含在另一个类中,允许某些属性和方法进行继承。每个包含关联都是在 CIM_Component 类中表示的。

最后,还有 IIsStructuredDataClass。在模块 1,第 3 课中,您已学习到了此类包含的元素是以 ADSI 中复杂而容易出错的方式表示的。应熟悉此类的元素及其属性。请注意它们并不与任何其他类关联。它们可以独立存在。如您在 CreateNewSite 方法的参数中所见,这些元素的实例的阵列可以传递到方法。

相关主题

© 1997-2003 Microsoft Corporation。保留所有权利。