同步两个IIS 8.5服务器configuration,仅排除绑定

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

服务器1

Server2上

我试图find一个PowerShell命令,将只同步Server1上所做的更改到Server2

我尝试共享configuration,但是会同步绑定以及我不希望,因为它们是负载平衡。 另外我试图避免添加不必要的绑定到服务器,使其工作。

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

我希望能够做的是将Server1 applicationhost.config或web.config中的更改同步到Server2

明白了(确保你使用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的post

然而这个types是无效的,这是一个尚未被修复的错误。

所以你需要添加-skip:skipAction到命令行来使它工作并使用objectName = binding

1问题是如果你创build了一个新的站点,那么configuration会被带过来,但是绑定信息并不是因为你告诉它的

所以使用PowerShell的修复

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