我想问您一个关于如何将Windows 2012 R2中的整个IIS (V8.5)迁移到Windows 2019上的IIS (版本10)的建议。我需要一个几乎自动的过程,因为我们有500多个站点在该服务器上。
这是几乎每个网站的规范:
Import-Module Webadministration
$sites = Get-ChildItem -Path IIS:\Sites
foreach($element in $sites){
$element
}其中我看到了网站的所有细节。我知道IIS中存在导出工具,但我认为不可能更改网站的目标文件夹和绑定,以使它们适应我需要在新服务器上使用的新域。
在这一点上,我有点卡住了,因为我不知道如何以一种聪明的方式进行。理想情况下,我需要的是,对于导出配置的每个网站,在目标IIS上创建网站,将网站的引用文件夹与绑定一起更新到新服务器上的位置(我需要更改域),并启动站点(如果出现错误,请显示某种警告以供手动检查)。您对如何进行并使此过程尽可能自动化有任何建议吗?此外,任何脚本的参考将是非常感谢。
发布于 2022-11-17 16:31:47
如果要将所有IIS网站和配置从一台服务器复制到另一台服务器,则可以使用msdeploy.exe。在源服务器上,以管理员身份运行以下命令,将所有文件和IIS配置复制到目标服务器,将[DestinationServerName]替换为要克隆到的服务器的名称:
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:webServer -dest:auto,computerName=[DestinationServerName] -disableSkipDirective:ConfigProtectedData请注意,如果目标服务器上有其他IIS网站和配置设置,则上面的命令可能会删除它。
您还可以使用以下命令同步各个网站和应用程序池:
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:apppoolconfig="[APP POOL NAME GOES HERE]" -dest:auto,computerName=[DestinationServerName] -disableSkipDirective:ConfigProtectedData
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:apphostconfig="[WEBSITE NAME GOES HERE]" -dest:auto,computerName=[DestinationServerName] -disableSkipDirective:ConfigProtectedData有关更多信息,请参见这个要旨。
完成此操作后,目标服务器应该是源服务器的镜像,因此,如果您希望在目标服务器上进行任何更改(例如绑定主机名),则以后仍然需要通过IIS、PowerShell或C:\Windows\System32\inetsrv\config\ApplicationHost.config文件(在修改它之前一定要对其进行备份)。
发布于 2020-08-11 18:45:18
使用WebAdministration模块是安全的,但也很慢。
只要您的目标服务器尚未启用,并且您可以使用它,我将直接编辑C:\Windows\System32\inetsrv\config\ApplicationHost.config文件。
将节点从旧服务器上的配置文件复制到新服务器上的配置文件。
还复制任何注释,通常在文件的末尾。
IIS 8.5和IIS 10非常相似,应该可以工作。始终备份您要更改的文件。
然后,您可以使用配置文件中的搜索和替换来更改物理位置或绑定。
https://serverfault.com/questions/1029711
复制相似问题