19 March 2010 ADSUTIL, Deployment, HowTo, IIS, Powershell Robert Muehsig

image Gestern bloggte ich über das Thema Deployment. Dabei fehlte mir noch ein kleiner Teil: Ich will per Klick mehrere Webseiten im IIS6 ein neues Home Directory zuweisen. Gelöst hab ich das mit adsutil.vbs und einem Batch File.

Wenn jemand Ideen hat, wie man das mit Powershell umsetzt, dann bitte in den Kommentaren melden ;)

 

ADSUTIL.vbs

ADSUTIL.vbs liegt standardmäßig im wwwroot unter "AdminScripts". Mit diesem Tool kann man den IIS relativ leicht konfigurieren, z.B.

Cscript.exe adsutil.vbs SET W3SVC/1/ServerBindings ":81:"

(was genau unter einem Serverbinding zu verstehen ist, sollte man wohl lieber nochmal in der Doku nachlesen ;) ). Jedenfalls setzt das Script das Serverbinding der SiteID 1 auf 81.

Woher bekommt man die SiteID?

Am einfachsten bekommt man die SiteID im IIS5 & IIS6 über die Loggingproperties raus:

image

Hier ist die SiteID 38. Zu sehen im LogfileName.

Home Directory setzen:

cscript.exe adsutil.vbs set W3SVC/1/root/path c:\mywebs\prod1

Damit wird das Home Directory auf "c:\mywebs\prod1" gesetzt.

Virtual Directories

cscript.exe adsutil.vbs set W3SVC/1/VIRTUALDIRECTORY/path c:\mywebs\prod1

Ähnlicher Aufbau. Anstatt der 1 die gewünschte SiteID und dann den Namen wie er im IIS geschrieben steht.

Geht. Powershell wäre schöner und vor allem zukunftsträchtiger

Diese Variante wird wahrscheinlich nur im IIS5/6 funktionieren. Im IIS7 würde ich eher per Powershell da rangehen. Wenn jemand da ein passendes Script hat oder einen Blogpost wo man sowas simples mal nachlesen kann, wäre das sehr hilfreich. Vor allem ob man mit der Powershell auch genauso den IIS6 "administrieren" kann würde mich interessieren :)


Written by Robert Muehsig

Software Developer - from Saxony, Germany - working on primedocs.io. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de