PowerShell i IIS 20: Zmiana identity w Application Pool

23-lis-2016

IIS Application pool pozwala między innymi zdefiniować konto na jakim będzie pracować aplikacja na systemie windows. W IIS managerze nie jest to wcale trudne: kliknij prawym przyciskiem myszy na wybranej ApplicationPool >> Wybierz Opcje zaawansowane >> kliknij Identity i wpisz nazwę konta i jego hasło. Kilka OK i gotowe!

A co jeśli to samo należy wykonać z poziomu PowerShell i modułu WebAdministration?

Zacznijmy od wyświetlenia właściwości ApplicationPool:

Get-ItemProperty 'IIS:\AppPools\TigerAppPool' | FL *

Wynik widać na obrazku poniżej. Domyślnie zaprezentowane są właściwości z sekcji General a inne właściwości są „ukryte” w grupach. Bezpośrednie właściwości w okienku IIS managera i w wyniku komendy powershell zaznaczone są poniżej na żółto. Grupy kryjące w sobie dodatkowe właściwości są zaznaczone na czerwono:

Żeby zobaczyć też właściwości ukryte w grupach posłuż się poleceniem:

Get-ItemProperty 'IIS:\AppPools\TigerAppPool' -Name ProcessModel | FL *

Wynik i relację wyświetlonych właściwości oraz pól z „Advanced Settings” z wynikiem polecenia powershellowego znajdziesz na ilustracji poniżej:

iis_app_pool_adv_settings_02

Stąd już tylko krok do zmiany identity na inne:

Get-ItemProperty 'IIS:\AppPools\TigerAppPool' -name "ProcessModel.userName"
Set-ItemProperty 'IIS:\AppPools\TigerAppPool' -name "ProcessModel.userName" -value 'appUser'

W tym przypadku zmieniamy tylko userName, ale oczywiście w ramach zmiany identity należy jeszcze zmienić password oraz identityType.

Pozdrowienia dla Bartosza, Grzegorza, Michała, Pawła, Adama i Sebastiana! Niech IIS będzie z Wami!

 

Komentarze są wyłączone

Autor: Rafał Kraik