仅同步两个 IIS 8.5 服务器配置(不包括绑定)

仅同步两个 IIS 8.5 服务器配置(不包括绑定)

我们有两台 IIS 8.5 Web 服务器,Server 2012 R2

服务器1

服务器2

我正在尝试找到一个 powershell 命令,它只会将 Server1 上所做的更改同步到 Server2

我尝试了共享配置,但这也会同步绑定,我不希望这样,因为它们是负载平衡的。此外,我还试图避免向服务器添加不必要的绑定以使其正常工作。

我发现了几个 webdeploy powershell 命令,但它们看起来也想同步文件,我们使用 DFS 来同步文件。

我想要做的就是将 Server1 applicationhost.config 或 web.config 中的更改同步到 Server2

答案1

知道了(确保您正在使用 CMD ADMIN 和 Powershell ADMIN)

使用 CMD,它将无法在 powershell 中工作,不确定为什么它不起作用。

msdeploy -verb:sync -source:webserver,computerName=acd-pv01 -dest:webserver,computerName=acd-pv02 -skip:skipAction=Delete,objectName=binding -skip:skipAction=AddChild,objectName=binding

简要概述

网上有几篇关于自定义规则 replaceipbindings 的帖子

但是该类型无效,这是一个尚未修复的错误。

因此,您必须将 -skip:skipAction 添加到命令行以使其工作并使用 objectName=binding

1 问题是,如果你创建了一个新网站,配置会被带过来,但是绑定信息不会,因为你告诉它不要这样做

因此使用 powershell 进行修复

Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.applicationHost/sites/site[@name='SITENAME']/bindings" -name "." -value @{protocol='http';bindingInformation='IPADDRESS:80:SITENAME'}

相关内容