09 July 2013 IIS, Powershell Robert Muehsig

Vor einiger Zeit hatte ich bereits geschrieben dass man im Grunde einen kompletten Server allein über Powershell konfigurieren kann. Natürlich gilt das Ganze auch für den IIS. Über die Powershell hat man interessante Möglichkeiten Prozesse zu automatisieren oder um den IIS zu “verscripten”.

Wichtigster Befehl: Import-Module WebAdministration

Über diesen Schritt holt man sich die IIS Cmdlets in die Session. Ähnlich wie man auf ein anderes Laufwerk wechselt kommt man via “cd iis:” einfach in den IIS Kontext und kann sich dort mit den gewohnten Befehlen frei bewegen:

image

Scripting…

Vermutlich lässt sich jede Admin-Aufgabe im IIS verscripten:

PS IIS:\Sites> New-Item iis:\Sites\TestSite -bindings @{protocol="http";bindingInformation=":80:TestSite"} -physicalPath c:\test

Dies legt eine neue Seite im IIS an oder man geht sehr tief ins System und listet z.B. alle Handlers einer Seite auf.

PS IIS:\Sites\DemoSite\DemoApp> Get-WebConfigurationProperty -filter //handlers -name Collection[scriptProcessor="*aspnet_isapi.dll"]  | select name,path
name                                              path
----                                              ----
svc-ISAPI-2.0-64                                  *.svc
svc-ISAPI-2.0                                     *.svc
AXD-ISAPI-2.0                                     *.axd
PageHandlerFactory-ISAPI-2.0                      *.mspx
SimpleHandlerFactory-ISAPI-2.0                    *.ashx
WebServiceHandlerFactory-ISAPI-2.0                *.asmx
HttpRemotingHandlerFactory-rem-ISAPI-2.0          *.rem
HttpRemotingHandlerFactory-soap-ISAPI-2.0         *.soap
AXD-ISAPI-2.0-64                                  *.axd
PageHandlerFactory-ISAPI-2.0-64                   *.mspx
SimpleHandlerFactory-ISAPI-2.0-64                 *.ashx
WebServiceHandlerFactory-ISAPI-2.0-64             *.asmx
HttpRemotingHandlerFactory-rem-ISAPI-2.0-64       *.rem
HttpRemotingHandlerFactory-soap-ISAPI-2.0-64      *.soap

Die Beispiele kommen von hier und hier. Aber es gibt noch eine ganze Reihe weiterer Themen auf iis.net:

image 

Empfehlenswerte Links

Wie bereits bei meinem ursprünglichen Post verlinke ich nochmal den Post Script Out Everything - Initialize Your Windows Azure VM for Your Web Server with IIS, Web Deploy and Other Stuff und natürlich nochmal auf die offizielle IIS Powershell Seite.

Vielleicht war diese Möglichkeit dem einen oder anderen Leser nicht bekannt – bis vor einigen Monaten kannte ich es noch nicht ;)


Written by Robert Muehsig

Software Developer - from Dresden, Germany, now living & working in Switzerland. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de

If you like the content and want to support me you could buy me a beer or a coffee via Litecoin or Bitcoin - thanks for reading!