我们有两个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'}