如何导入由Export-IISConfiguration导出的IIS配置?
IIS 10 导入Export-IISConfiguration导出配置的操作方案
Export-IISConfiguration导出的是IIS核心配置文件集合,默认包含applicationHost.config、administration.config、redirection.config三个核心配置文件,微软官方没有提供对应的Import-IISConfiguration cmdlet,可按以下步骤手动完成导入:
- 第一步:备份目标服务器原有IIS配置,防止操作失误无法回滚,在管理员权限的cmd或PowerShell中执行以下命令:
%windir%\system32\inetsrv\appcmd add backup "pre-import-backup"
后续如果需要回滚,执行%windir%\system32\inetsrv\appcmd restore backup "pre-import-backup"即可。 - 第二步:停止目标服务器的IIS相关服务,避免配置文件被占用无法替换:
net stop WAS /y
该命令会同时停止Windows进程激活服务和万维网发布服务。 - 第三步:将
Export-IISConfiguration导出目录下的所有.config文件,覆盖到目标服务器的IIS配置目录,默认路径为:%windir%\System32\inetsrv\config\
同步完成以下配套操作避免出现功能异常:- 同步源服务器上站点对应的物理目录文件到目标服务器相同路径(如果路径不一致需后续手动修改配置)
- 同步源服务器IIS中注册的自定义模块、处理程序对应的程序集文件到目标服务器的对应路径
- 第四步:重启IIS服务:
net start W3SVC
该命令会自动启动依赖的WAS服务。 - 第五步:验证配置生效状态,执行以下命令查看站点是否正常加载:
%windir%\system32\inetsrv\appcmd list site
也可以直接访问站点验证功能是否正常。
针对你遇到的static file handler优先执行的问题,导入完成后可以检查两个配置项:
- 对应站点的处理程序映射排序,确认你自定义的应用处理程序顺序在StaticFile处理程序之前
- 站点对应的应用程序池.NET Framework版本设置为v4.0(适配你使用的.NET Framework 4.8),托管管道模式和源服务器配置一致
如果两台服务器的站点物理路径、系统安装盘不一致,导入完成后需要手动修改applicationHost.config中对应的路径配置。
内容的提问来源于stack exchange,提问作者Dragas
相关产品推荐
相关产品推荐

