PowerShell i IIS 11: IIS w Windows 2016

2016-10-30

Wraz z wersją Windows 2016, zarządzanie IIS z poziomu Powershell może się stać jeszcze prostsze, bo administratorzy oprócz modułu WebAdministration dostają także nowy IISAdministration.  Ze względu na kompatybilność wsteczną starszy moduł nadal będzie dostarczany, jednak wielu administratorów stwierdza że praca z nowym modułem jest prostsza i bardziej intuicyjna.

iis111

Wiele z poleceń działa podobnie jeśli nie tak samo jak ich poprzedniki: Czytaj dalej »

PowerShell i IIS 10: WebApplication

2016-10-30

WebSites mogą korzystać z tego samego WebApplicationPool lub z różnych, co pozwala zapobiegać między innymi problemom wydajnościowym wynikającym np. z bardzo wysokiej aktywności jednego site w application pool. Application pool nie wystarcza jednak jeśli wysoka aktywność jest generowana przez część site znajdującą się w wybranym folderze lub katalogu wirtualnym. W takim przypadku można tworzyć osobne WebApplication dla wybranego katalogu, które można dalej przypisać do oddzielnego application pool.

Dodatkowo każda z WebApplication ma również swój oddzielny application domain, session state i application state. Z dużym prawdopodobieństwem, jeśli twój site ma hostować komponenty pochodzące od różnych dostawców, to również należałoby je definiować jako odrębne WebApplication, co pozwoli odseparować je od siebie i uniknąć potencjalnych konfliktów.

Oto polecenia pozwalające zarządzać obiektami application:

iis101 Czytaj dalej »

PowerShell i IIS 09: Korzystanie z katalogu wirtualnego z poświadczeniami innego użytkownika

2016-10-29

IIS posiada opcje pozwalające na korzystanie z katalogów wirtualnych z wykorzystaniem poświadczeń innych użytkowników. Załóżmy ze na serwerze utworzono lokalne konto web, a uprawnienia do  katalogu c:\inetpub\images zdefiniowano na bardzo restrykcyjnym poziomie. Katalog ten jest wykorzystywany przez katalog wirtualny images.

iis091

W takim przypadku użytkownik odwołujący się do  tego katalogu wirtualnego otrzyma błąd: Czytaj dalej »

PowerShell i IIS 08: VirtualDirectory

2016-10-29

Virtual Directory pozwala na przechowywanie części plików budujących site w zupełnie innym drzewie katalogów niż sam site. Może się to przydać kiedy część zasobów ma być współdzielona miedzy site lub rzeczywisty katalog, który już istnieje ma na tyle skomplikowana nazwę ze należy utworzyć łatwiejszy w zapamiętaniu skrót.

Polecenie Get-VirtualDirectory można uruchamiać bez przełącznika. Spowoduje to wyświetlenie wszystkich dostępnych katalogów wirtualnych. Jeżeli wynik ma być ograniczony do tylko jednego site to należy użyć parametru site. Czytaj dalej »

PowerShell i IIS 07: Korzystanie z Get-Website

2016-10-29

Załóżmy, że do nowego site należy wgrać plik, który stanie się pierwszą domyślną stroną w tym site. Ta strona może następnie posłużyć administratorowi do przetestowania poprawności utworzenia tego site. W poniższym przykładzie zawartość takiej strony będzie ograniczona do… nazwy site.

W pierwszym kroku pobieramy nazwę site i konwertujemy wynik do postaci HTML. Tak utworzony tekst zapisujemy w zmiennej $content.

Plik z tak przygotowaną zawartością należy umieścić w katalogu tego site. Stąd kolejna instrukcja za pomocą Get-WebSite pobiera ścieżkę do zmiennej $path

Domyślnie jeżeli użytkownik nie określa w przeglądarce jaki plik ma zostać załadowany to serwer IIS będzie wyszukiwał plików index.html lub default.html. Dlatego w następnej linii kończymy konstruowanie nazwy pliku łącząc za pomocą Join-Path ścieżkę do katalogu z nazwą pliku Czytaj dalej »

PowerShell i IIS 06: Pliki konfiguracyjne IIS

2016-10-29

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 Czytaj dalej »

PowerShell i IIS 05: Application Pools

2016-10-29

Aby zapewnić większą stabilność aplikacji webowych można im przydzielić oddzielne pule zasobów tzw. ApplicationPool. Zacznijmy od sprawdzenia jakie ApplicationPool obecnie są zdefiniowane na systemie. Skorzystamy w tym celu z napędu IIS:\ a dokładniej z kontenera AppPools:

iis051

Aby sprawdzić jakie polecenia pozwalają wykonywać operacje na ApplicationPools posłużymy się znowu Get-Command: Czytaj dalej »