导出 IIS 配置

可使用命令行脚本 iiscnfg.vbs(存储在 systemroot\System32 中)将 IIS 配置数据库的全部或部分复制到加密或未加密形式的 XML 文件中。该 XML 文件可在 /import 操作中用于将全部或部分配置数据库复制到另一个 IIS 配置中。

发出该命令的计算机必须运行 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 提供一个用于将继承属性包括在导出文件中的选项。

为防止未经授权即使用导出文件,iiscnfg.vbs 允许您用密码加密导出文件。密码加密会话密钥,而会话密钥加密设置了安全属性的所有属性。

您可以读取加密的导出文件(只对会话密钥和安全属性进行加密),并且可以删除文件。但是,除非您提供加密密码,否则不能在 /import 操作中使用导出文件。同样,您不能从导出文件中删除密码加密,也不能更改加密密码。

/copy 操作更改配置数据库中计算机特定的属性和系统特定的属性以便它们在目标计算机上有效。但是,它不调整目录或文件路径。因此,配置中的路径在目标计算机上可能无效。

语法

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

参数

/f [Path\]FileName.xml
必需的。为导出文件指定一个唯一的名称和位置。如果指定的文件已存在或者指定路径中的目录不存在,则该命令将失败。同样,文件路径必须是本地路径。当从远程计算机导出文件时,/f 参数表明是远程计算机上的路径。
/sp SourcePath
必需的。指定要导出的配置数据库项。输入配置数据库路径(包括 /lm/ root)以指出选定的项。
/d EncryptingPassword
用指定的密码加密导出文件。您可以将任何字符串用作密码。/d 参数通过用指定的密码加密会话密钥和安全属性来创建安全导出文件。必须提供该密码才能在 /import 操作中使用该文件。

如果忽略该参数或者忽略密码参数,则导出文件将用空密码加密。因此,只加密安全属性,且任何管理员都可以使用导出文件来导入配置数据库配置。

/inherited
将导出项的继承属性添加到导出文件。如果没有此参数,则导出文件不包含从较高级别项继承的属性。如果选中该选项,则 iiscnfg.vbs 将导出项的继承属性添加到导出文件中的 IIsInheritedProperties 项中。从该文件导入项时,可以选择同时导入项的继承属性。

注意 注意 当导入继承属性时,导入项保持它们在导出配置中继承的属性。如果未导入继承属性,则项继承导入配置的属性。

/children
将指定密钥的子项递归添加到导出文件中。
/s Computer
在指定的远程计算机上运行脚本。键入不带反斜杠的计算机名或 IP 地址。默认值是本地计算机。
/u [Domain\]User
使用指定的用户帐户的权限运行脚本。该帐户必须是远程计算机上 Administrators 组的成员。在默认情况下,脚本使用本地计算机当前用户的权限运行。
/p Password
指定在 /u 参数中指定的用户帐户的密码。如果您忽略该参数,则脚本会提示您输入密码且不显示所键入的文本。

示例

示例 1:

下面的示例将网站 Finance 的配置导出到文件 C:\Finance\Finance.xml 中。该命令使用 /sp 参数指定网站的配置数据库路径(即,/lm/W3SVC/2),使用 /children 参数导出该配置的所有子项。它还使用 /inherited 参数将继承属性包括在导出文件中。这确保网站的配置即使在导入到其他系统中时也保留这些属性。

iiscnfg /export /f c:\finance\finance.xml /sp /lm/w3svc/2 /children /inherited

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

Configuration exported from /lm/w3svc/2 to file c:\finance\finance.xml

得到的文件将包括 /lm/w3svc/2 路径中的所有项和子项。它还包括 IisInheritedProperties 项,其中包含所有继承属性的值。

示例 2:

下面的示例将本地计算机的 IIS 配置导出到文件 D:\IIStest\Config.xml 中。它使用 /f 参数指定配置数据库的文件名和位置,使用 /sp 参数指定配置数据库的根项 (/)。/children 参数将根项的所有子项递归添加到导出文件中。(如果没有 /children 参数,则只导出根目录项。)最后,该命令使用 /d 参数和密码加密导出文件。

iiscnfg /export /f d:\iistest\config.xml /sp / /children /d p@sswoRd61

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

Configuration / has been exported to d:\iistest\config.xml

即便完整地导出配置,导出文件也并非与系统的 MetaBase.xml 完全相同。会话密钥、访问控制列表 (ACL) 和密码会有所不同。

您无法通过查看加密的导出文件来辨别这种区别。但是,如果您对同一个文件的加密和非加密版本进行比较,则可以看到安全属性的值在加密版本中发生了变化。因此,如果没有密码,则该文件不能用于导入命令中。

相关主题

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