PowerShell i IIS 06: Pliki konfiguracyjne IIS

29-paź-2016

Konfiguracja IIS zaczyna się na poziomie… plików Są to pliki konfiguracyjne .NET widoczne na ilustracji poniżej znajdujące się w katalogu c:\windows\Microsoft.NET\Framework\<version>\

iis061

Kolejny plik to ApplicationHost.config z c:\windows\system32\inetsrv\config

iis062

Właśnie dane pochodzące z tych plików są prezentowane we właściwościach serwera, na stronie głównej konsoli IIS:

iis063

Ścieżkę dostępu do głównego pliku konfiguracyjnego wyświetla polecenie Get-WebConfigFile

iis064

Korzystając z typu [xml] można uzyskiwać dostęp do konfiguracji zapisanej w tym pliku np. w następujący sposób:

iis065

Na szczęście obsługa plików xml w PowerShell jest stosunkowo prosta. W przykładzie poniżej najpierw pobieramy pełną ścieżkę do pliku konfiguracyjnego:

iis066

 

Następnie deklarujemy zmienną typu xml i wczytujemy do niej zawartość pliku zachowując strukturę pliku xml:

iis067

Tak wczytany plik można przeglądać odwołując się do właściwości na kolejnych poziomach. Bardzo przydatne może tu być polecenie Get-Member. Tutaj ustalono, że site TigerApp jest trzeci na liście licząc od zera. Oczywiście zamiast ustalać numer elementu można by posłużyć się where-object.

iis068

Do wyszukanie potrzebnej informacji można także posługiwać się językiem XPath. Oto jak znaleźć site TigerApp:

iis069

Kiedy element został już znaleziony można przystąpić do zmiany jego zawartości.

iis070

Zmianę należy wykonywać na różne sposoby, zależnie jak uzyskujemy dostęp do właściwości:

iis071

Co ciekawe taka zmiana nie wymagała restartu IIS ani WebSite! Zmiany są przechwytywane przez IIS i od razu stosowane w bieżących ustawieniach usługi.

Komentarze są wyłączone

Autor: Rafał Kraik