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

Ant*_*ito 12 powershell iis-8.5

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

服务器 1

服务器2

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

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

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

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

Ant*_*ito 12

明白了(确保您使用的是 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
Run Code Online (Sandbox Code Playgroud)

一点概述

网上有几篇关于自定义规则 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'}
Run Code Online (Sandbox Code Playgroud)