Synchronisieren Sie zwei IIS 8.5-Serverkonfigurationen nur ohne Bindungen

12

Wir haben zwei IIS 8.5-Webserver, Server 2012 R2

Server 1

Server2

Ich versuche, einen Powershell-Befehl zu finden, der nur auf Server1 vorgenommene Änderungen mit Server2 synchronisiert

Ich habe Shared-Konfigurationen ausprobiert, die auch die Bindungen synchronisieren, und ich möchte das nicht, da sie lastausgeglichen sind. Außerdem versuche ich zu vermeiden, unnötige Bindungen zu Servern hinzuzufügen, damit es funktioniert.

Ich habe ein paar webdeploy Powershell-Befehle gefunden, die jedoch so aussehen, als ob sie auch Dateien synchronisieren möchten. Wir verwenden DFS, um die Dateien zu synchronisieren.

Alles, was ich tun möchte, ist, Änderungen von Server1 applicationhost.config oder web.config auf Server2 zu synchronisieren

Anthony Fornito
quelle

Antworten:

12

Verstanden (Stellen Sie sicher, dass Sie CMD ADMIN und Powershell ADMIN verwenden)

Mit CMD funktioniert es nicht in Powershell, nicht sicher, warum es nicht funktioniert.

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

Ein kleiner Überblick

Es sind einige Posts online, die sich mit benutzerdefinierten Regelersetzungsbindungen befassen

Der Typ ist jedoch nicht gültig. Dies ist ein Fehler, der noch nicht behoben wurde.

Sie müssen also der Befehlszeile die Option -skip: skipAction hinzufügen, damit sie funktioniert, und die Bindung objectName = verwenden

Ein Problem ist, wenn Sie eine neue Site erstellt haben, die Konfiguration wird übernommen, aber die Bindungsinformationen nicht, weil Sie es nicht gesagt haben

Also das Update, das Powershell verwendet

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