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:
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!