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:
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:
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 ;)