I am using iis win2k3. How do I go about extracting an adhoc list of websites, displaying the host header value, description and web folder location?
The export list only shows the header and description value.
UPDATE - matt provided answer and I've updated the code to spit out to a file. hope this helpful for someone
OPTION EXPLICIT
DIM CRLF, TAB
DIM strServer
DIM objWebService
TAB = CHR( 9 )
CRLF = CHR( 13 ) & CHR( 10 )
IF WScript.Arguments.Length = 1 THEN
strServer = WScript.Arguments( 0 )
ELSE
strServer = "localhost"
END IF
WScript.Echo "Enumerating websites on " & strServer & CRLF
SET objWebService = GetObject( "IIS://" & strServer & "/W3SVC" )
EnumWebsites objWebService
SUB EnumWebsites( objWebService )
DIM objWebServer, objWebServerRoot, strBindings
DIM myFSO
DIM WriteStuff
DIM tmp
Set myFSO = CreateObject("Scripting.FileSystemObject")
Set WriteStuff = myFSO.OpenTextFile("siteList.txt", 8, True)
tmp = "Site ID|Comment|State|Path|LogDir"
WriteStuff.WriteLine(tmp)
FOR EACH objWebServer IN objWebService
IF objWebserver.Class = "IIsWebServer" THEN
SET objWebServerRoot = GetObject(objWebServer.adspath & "/root")
tmp = objWebserver.Name & "|" & _
objWebServer.ServerComment & "|" & _
State2Desc( objWebserver.ServerState ) & "|" & _
objWebServerRoot.path & "|" & _
objWebServer.LogFileDirectory & _
""
WriteStuff.WriteLine(tmp)
' Enumerate the HTTP bindings (ServerBindings) and
' SSL bindings (SecureBindings)
END IF
NEXT
END SUB
FUNCTION State2Desc( nState )
SELECT CASE nState
CASE 1
State2Desc = "Starting (MD_SERVER_STATE_STARTING)"
CASE 2
State2Desc = "Started (MD_SERVER_STATE_STARTED)"
CASE 3
State2Desc = "Stopping (MD_SERVER_STATE_STOPPING)"
CASE 4
State2Desc = "Stopped (MD_SERVER_STATE_STOPPED)"
CASE 5
State2Desc = "Pausing (MD_SERVER_STATE_PAUSING)"
CASE 6
State2Desc = "Paused (MD_SERVER_STATE_PAUSED)"
CASE 7
State2Desc = "Continuing (MD_SERVER_STATE_CONTINUING)"
CASE ELSE
State2Desc = "Unknown state"
END SELECT
END FUNCTION
The following VBScript will do it:
This was taken from here, and I modified it to add the path: http://blogs.msdn.com/david.wang/archive/2005/07/13/HOWTO_Enumerate_IIS_Website_Configuration.aspx
Here is updated code that adds a comma separated list of host headers and secure host headers to the file output (so it is now:
Site ID|Comment|State|Path|LogDir|HostHeaders|SecHostHeaders