导入 IIS 配置

可使用命令行脚本 iiscnfg.vbs(存储在 systemroot\System32 中)将配置设置从可扩展标记语言 (XML) 配置数据库导出文件添加到 IIS 服务器的配置数据库中。

发出该命令的计算机必须运行 Microsoft Windows XP 或 Windows Server 2003 家族的成员。受到该命令影响的计算机必须运行带有 IIS 6.0 的 Windows Server 2003 家族的成员。

要点 要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能运行脚本和可执行文件。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行脚本或可执行文件。在命令提示符下,键入 runas /user:administrative_accountname "script or executable command"

本主题包括下列信息:

概述

IIS 服务器的配置数据库包括系统特定的属性和计算机特定的属性。如果未经修改,不要将一个 IIS 服务器的配置导出到另一个 IIS 服务器。相反,使用 iisback.vbsiiscnfg.vbs/copy 操作,二者均替换系统特定的属性和计算机特定的属性,使得配置在目标计算机上有效。

通过使用 iiscnfg.vbs 进行的更改直接生效,但是在更新 MetaBase.xml 文件之前(更新间隔为 5 分钟或 50 次更改),它们不在该文件中反映出来。使用 iiscnfg /save 立即查看所做更改。

语法

iiscnfg /import /f [Path\]FileName.xml /sp SourcePath /dp DestiniationPath[/d EncryptingPassword] [/inherited] [/children] [/merge][/s Computer [/u [Domain\]User [/p Password]]]

参数

/f [Path\]FileName.xml
必需的。指定 XML 源文件的路径和文件名。
/sp SourcePath
必需的。指定导入项在 XML 文件中的位置。按照在 XML 文件中的显示输入配置数据库路径。要导入源文件中的所有项,请输入根目录项的配置数据库路径。
/dp DestinationPath
必需的。指定要将项放入其中的配置数据库路径。按照在 XML 文件中的显示输入配置数据库路径。

注意 注意 导入项必须采用在配置数据库路径中的新位置的预期类型。如果项类型不是预期类型,则配置将无法正确运行。例如,不要将事件日志配置 (/LM/Logging) 导入到网站配置路径(如,/LM/W3SVC/3)。如果指定的路径在配置数据库中已存在,那么将不进行警告就用导入项覆盖替换该配置数据库路径当前的项。

/d EncryptingPassword
只有当配置文件经过加密时才需要。指定用于加密配置数据的密码。
/inherited
导入项的继承属性。只有当源文件包括继承属性时,该参数才有效。
/children
递归导入指定项的子项。
/merge
将 XML 文件中的项与现有的配置数据库项合并。如果没有该参数,XML 文件中的项将替换同一个配置数据库路径中的现有项。/merge 参数将只出现在 XML 文件中的项添加到配置数据库中,保留配置数据库中不在 XML 文件中存在的项,当项同时出现在 XML 文件和配置数据库中时,则应用 XML 文件中的值。
/s Computer
在指定的远程计算机上运行脚本。键入不带反斜杠的计算机名或 IP 地址。默认值是本地计算机。
/u [Domain\]User
使用指定的用户帐户的权限运行脚本。该帐户必须是远程计算机上 Administrators 组的成员。在默认情况下,脚本使用本地计算机当前用户的权限运行。
/p Password
指定在 /u 参数中指定的用户帐户的密码。如果您忽略该参数,则脚本会提示您输入密码且不显示所键入的文本。

示例

示例 1:

下面的命令将网站 NewSite 的配置从文件 C:\Config.xml 导入到配置数据库中。该命令使用 /f 参数指定源文件的名称和位置。接着,它使用 /sp 参数指出配置位于文件 Config.xml 中的 /lm/w3svc/5/Root/NewSite 路径中。最后,它使用 /dp 参数指定应当将项放在配置数据库中的 /lm/w3svc/1/Root/401KApp 位置中。

iiscnfg.vbs /import /f c:\config.xml /sp /lm/w3svc/5/Root/NewSite /dp /lm/w3svc/1/Root/401KApp

作为响应,iiscnfg 显示以下成功消息:

Configuration imported from /lm/w3svc/5/Root/NewSite in c:\config.xml to /lm/w3svc/1/Root/401KApp in the Metabase.

作为该命令的结果,NewSite 的配置现在作为第一个网站出现在 IIS 中,其配置数据库路径为 W3SVC/1。

示例 2:

下面的示例分两步,它将自定义的日志配置从 C:\IISLogging.xml 导入到远程计算机的 IIS 配置数据库中。会使用该方法或者该方法的扩展将配置传播到一组服务器中。

第一个命令将 IIsLogging.xml 文件复制到远程服务器 Svr126 中。

copy IIsLogging.xml \\Svr126\c$

第二个命令将 IIsLogging.xml 导入到 Svr126 的 IIS 配置中。它使用 /f 参数标识源文件,使用 /sp 参数指定要导入的 /LM/Logging/Custom Logging 配置数据库路径,使用 /dp 参数将导入项放在目标配置中相同的位置,即 /LM/Logging/Custom Logging。(使用引号将包括空格的路径元素引起来。)接着,它使用 /children 参数导入 Logging 项的所有子项。最后,为了作用于 Svr126,它使用 /s 参数指定服务器,使用 /u/p 参数用远程计算机上用户的管理员帐户权限运行脚本。

iiscnfg /import /f C:\IISLogging.xml /sp "/lm/logging/custom logging" /dp "/lm/logging/custom logging" /children /s Svr126 /u Svr126\Administrator /p [email protected]#

作为响应,iiscnfg 显示以下成功消息:

正在连接到服务器...已完成。
Configuration imported from /lm/logging/custom logging in file C:\IISLogging.xml to
/lm/logging/custom logging in the Metabase.

因此,/LM/Logging/Custom Logging 项及其子项已经从本地配置数据库复制到 Svr126 的配置数据库中。

示例 3:

该示例通过对标准的 import 操作与使用 /merge 参数的 import 操作进行比较来演示 /merge 参数如何工作。该示例中的这两个命令通过使用同一个导入文件 Invest_vdir.xml 更新网站的虚拟目录 Investments 的属性。

下面的示例显示在运行任何导入操作之前的 Investments 配置数据库项。(该示例是从通过使用 iisback.vbs 创建的配置数据库的备份副本中提取的)。

导入之前的配置数据库

<IIsWebVirtualDir Location="/LM/W3SVC/1509060625/root/Investments"
    AccessFlags="AccessRead | AccessScript"
    AppFriendlyName="Investments"
    AppIsolated="2"
    AppRoot="/LM/W3SVC/1509060625/Root/Investments"
    DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc"
    Path="E:\public\Download"
>
</IIsWebVirtualDir>

下面的示例显示将用于 /import 操作中的 Invest_vdir.xml 文件的内容。(该示例是通过导出 Investments 配置数据库项然后编辑该导出文件来创建的。)请注意,Investments 项的下列属性在 XML 文件中发生变化:

导入文件内容
<IIsWebVirtualDir Location="/LM/W3SVC/1509060625/root/Investments"
        AccessFlags="AccessRead"
        AuthFlags="AuthAnonymous | AuthNTLM"
        AppFriendlyName="Investments"
        AppIsolated="2"
        AppRoot="/LM/W3SVC/1509060625/Root/Investments"
        Path="E:\public\Download"
>
</IIsWebVirtualDir>

命令 1:标准导入

下面的命令在不使用 /merge 参数的情况下将 Invest_vdir.xml 文件导入到配置数据库中。该命令指示 IIS 将配置数据库中的 Investments 项替换为 XML 文件中的 Investments 项。该命令使用 /f 参数指定导入文件,并在源路径 (/sp) 和目标路径 (/dp) 参数中使用相同的配置数据库路径。

iiscnfg /import /f e:\iistest\Invest_vdir.xml /sp /LM/W3SVC/1509060625/root/Investments /dp /LM/W3SVC/1509060625/root/Investments

作为该命令的结果,配置数据库中的 Investments 项与 Invest_vdir.xml 导入文件中的 Investments 项完全相同。

命令 2:导入并合并

下面的命令将 Invest_vdir.xml 文件中的 Investments 项合并到配置数据库中。/merge 参数命令 IIS 将导入文件中的新属性添加到配置数据库中,使不在导入文件中的配置数据库属性保持不变,当属性同时出现在导入文件和配置数据库中时应用导入文件中的值。除了添加了 /merge 参数以外,该命令与命令 1 相同。

iiscnfg /import /f e:\iistest\Invest_vdir.xml /sp /LM/W3SVC/1509060625/root/Investments /dp /LM/W3SVC/1509060625/root/Investments /merge

作为该命令的结果,配置数据库中 Investments 项的内容成了它的多个源的组合,如下面的示例所示。请注意,配置数据库中 Investments 项的下列属性发生了变化。

<IIsWebVirtualDir Location="/LM/W3SVC/1509060625/root/Investments"
        AccessFlags="AccessRead"
        AppFriendlyName="Investments"
        AppIsolated="2"
        AppRoot="/LM/W3SVC/1509060625/Root/Investments"
        AuthFlags="AuthAnonymous | AuthNTLM"
        DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc"
        Path="E:\public\Download"
>
</IIsWebVirtualDir>
相关主题

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