65.9K
CodeProject 正在变化。 阅读更多。
Home

使用脚本切换网站的物理路径

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.67/5 (3投票s)

2011年7月5日

Ms-PL

2分钟阅读

viewsIcon

14318

自动切换 IIS 网站的物理位置。

目录

引言

如果同时处理多个发布版本,每次手动更改 IIS 虚拟目录设置以指向不同的文件夹会变得非常繁琐。当网站下有多个虚拟目录时,由于打字错误,也容易出错,导致无法正确切换物理位置。本文档展示了如何切换 IIS 6.0 网站的元数据,并使用 iiscnfg.vbs 脚本自动切换。

问题

假设公司 TheProductCompany 的网站是 http:\\theproductcompany.com。通常,TheProductCompany 每季度通过其网站发布新产品。

为了简化编码,并使与每个季度对应的各种发布版本开发工作能够并行进行,网站的物理位置逻辑上映射为:d:\theproductcompany_Q1d:\theproductcompany_Q2 等,表示不同“季度”的代码。为了支持代码签入到多个发布版本,TheProductCompany 在其源代码管理中使用多个分支。

现在,开发人员 John 正在处理所有这些网站。他发现每次需要在这些不同的发布版本上处理各种需求时,每次都去 IIS 并手动更改与网站关联的物理位置(例如 d:\theproductcompany_Q1d:\theproductcompany_Q2、...Q3 等)非常耗时。

在专业环境中,您的主网站下可能有许多虚拟目录,每个目录都遵循类似的文件夹结构。这真的会变得非常繁琐且容易出错。

解决方案

首先,我们需要像往常一样设置虚拟目录的物理路径。我们需要导出此配置。下次,当我们切换到 d:\theproductcompany_Q2 并想要切换回 d:\theproductcompany_Q1 时,我们需要导入已经导出的设置。这可以通过以下方式导出/导入 IIS 元数据来实现。

导出设置

首先,我们需要导出当前的 IIS 元数据/设置。

可以通过两种方式进行

通过 IIS 手动导出

  1. 打开 IIS
  2. 在您的网站上,右键单击并选择“所有任务”。单击“将配置保存到文件”(见图 1)

  3. 输入文件名(对于我们的示例 - 图 2 -:我输入了 d:\myproduct.xml

使用 iisconfig.vbs 文件导出

语法如下

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

导入设置

现在,每当我们需要切换时,只需导入

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

因此 John 现在可以导入

iiscnfg /import /sp /lm/w3svc /dp /lm/w3svc /children /f d:\myproduct.xml; 

参考文献

© . All rights reserved.