IIS6批量转移网站
IIS6.0有个导出配置的功能,但你却找不到界面上的直接导入配置功能,需要用到操作系统自带的iiscnfg.vbs脚本。
1、导出当前的IIS网站配置
打开Internet信息服务(IIS)
--->右键“网站”
--->“所有任务”
--->弹出的保存窗口,填写文件名和路径,将IIS的配置保存一份。
解释:
/import /f 导入配置文件,后跟保存的.xml配置文件
/sp 指定.xml中要导入的源路径,必选项
/dp 指定要导入到网站的目标路径,必选项, /LM/W3SVC/1是指当前在IIS管理器中看到的第1个WEB站点
/children 将.xml中的配置的子虚拟目录配置一并导入
这个命令,就可以把旧服务器上的IIS所有配置还原到新的IIS配置了 说明:/LM/W3SVC 这个是在你的备份里面有的,注意的是,如果你的新服务器,原来有了一些网站的话,就要用到合并了,上面的命令加多一个“/merge”,如下 iiscnfg /import /f d:\iisbak.xml /sp /LM/W3SVC /dp /LM/W3SVC /children /merge 如果服务器IP、网站独立运行用户有变可对iisbak.xml文件进行修改,批量替换,以上几步就可以轻松对IIS跨服务器迁移。 附:iisweb.vbs批量删除IIS站点 注意:以下操作都要以管理员身份登录或是以管理员身份运行 1、获取站点列表
cscript.exe C:\windows\system32\iisweb.vbs /query > D:\sitelist_org.txt
D:\sitelist_org.txt内容类似 Microsoft (R) Windows Script Host Version 5.6 版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。 正在连接到服务器 ...已完成。 Site Name (Metabase Path) Status IP Port Host ========================================================================== 默认网站 (W3SVC/1) STOPPED ALL 80 N/A abc.com (W3SVC/10) STARTED 1.2.3.4 80 abc.com 80 www.abc.com ... 使用editplus或其他编辑器的替换功能将站点列表提取为每行一个站点保存到D:\sitelist.txt D:\sitelist.txt内容应该类似 abc.com bcd.com ... 2、批量删除IIS站点 写一个批处理文件为D:\delallsite.bat 内容为: for /f %%i in (D:\sitelist.txt) do cscript.exe C:\windows\system32\iisweb.vbs /delete %%i 运行D:\delallsite.bat 出现 Microsoft (R) Windows Script Host Version 5.6 版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。 正在连接到服务器 ...已完成。 Server W3SVC/10 has been deleted 表示站点成功删除了。 3、如果出现 执行删除操作出现 Microsoft (R) Windows Script Host Version 5.6 版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。 Not enough parameters. Type IIsWeb /create /? For Help 就表示权限有问题,执行 regsvr32 C:\WINDOWS\System32\wshom.ocx 使用完之后再 regsvr32 /u C:\WINDOWS\System32\wshom.ocx 注消 批量修改网站路径
C:\WINDOWS\system32\inetsrv目录下有一个文件MetaBase.xml,
打开文件查找,果然找到了IIS上面所有站点的路径。好的,批量替换,保存,提示:
停止IIS服务"iisreset/STOP" 停止IIS,替换,保存,成功!开启IIS服务 "iisreset/start",OK 大功告成