Synchronizuj dwie konfiguracje serwera IIS 8.5 tylko z wyłączeniem powiązań


12

Mamy dwa serwery sieciowe IIS 8.5, Server 2012 R2

Serwer 1

Serwer 2

Próbuję znaleźć polecenie PowerShell, które zsynchronizuje tylko zmiany dokonane na serwerze Server1 do serwera Server2

Próbowałem jednak wspólnych konfiguracji, które również zsynchronizują powiązania i nie chcę tego, ponieważ są one równoważone pod względem obciążenia. Staram się również unikać dodawania niepotrzebnych powiązań do serwerów, aby działało.

Znalazłem kilka poleceń PowerShell dla webdeploy, ale wygląda na to, że chce również zsynchronizować pliki, używamy DFS do synchronizacji plików.

Chcę tylko zsynchronizować zmiany z server1 applicationhost.config lub web.config do Server2

Odpowiedzi:


12

Rozumiem (upewnij się, że używasz CMD ADMIN i PowerShell ADMIN)

Używając CMD, nie będzie działać w PowerShell, nie jestem pewien, dlaczego tak nie jest.

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

Mały przegląd

W Internecie jest kilka postów na temat niestandardowych reguł zastępujących wiązania

Jednak typ jest nieprawidłowy, jest to błąd, który nie został jeszcze naprawiony.

Masz więc opcję -skip: skipAction w wierszu komend, aby działała i użyj objectName = bindowanie

1 problem polega na tym, że jeśli utworzyłeś nową witrynę, konfiguracja zostaje przeniesiona, jednak informacje o powiązaniu nie są spowodowane tym, że powiedziałeś, aby tego nie robić

Więc poprawka wykorzystująca PowerShell

Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.applicationHost/sites/site[@name='SITENAME']/bindings" -name "." -value @{protocol='http';bindingInformation='IPADDRESS:80:SITENAME'}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.