Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

VBScript to dump websitelayout and application running under AppPool in IIS WebServer

0.00/5 (No votes)
9 Dec 2005 1  
VBScript to Provide websitelayout for IIS WebServer

Introduction

VBScript that will read the metabase information using WMI. This VBScript can be easily run at the client place and would tell us at one go what all web sites are running under Application Pools.

When we run this VBScript on client side it provide website layout in tree view format

+AppPoolId: DefaultAppPool
+WebSiteID: 1
+WebSite Name: Default web site
   -Application Name: W3SVC/1/ROOT
   -Application Name: W3SVC/1/ROOT/Timesheet
   -Application Name: W3SVC/1/ROOT/wiki
+WebSiteID: 2
+WebSite Name: Sukhvir Singh Nauhwar
   -Application Name: W3SVC/1/Forum

Now you can find out how many website running on particular Application Pools for IISWebServer

'This VBScript provide web site layout dump 

strComputer = "."
Set objWMIService = GetObject("winmgmts:{authenticationLevel=pktPrivacy}\\" &_
                             strComputer & "\root\microsoftiisv2")
Set colItemswb = objWMIService.ExecQuery( "Select * from IIsWebServerSetting" ) 

'Find Website Id

Dim WebSiteIds(10)
Dim WebSiteDisplayName(10)
 
n = 0
For Each objItemwb in colItemswb 
    WebSiteId = Mid(objItemwb.Name, 7) 
    WebSiteIds( n ) = WebSiteId
    WebSiteDisplayName(n) = objItemwb.ServerComment
    n = n + 1
Next

n = n - 1 

 
Set colItems = objWMIService.ExecQuery("Select Name From IIsApplicationPool")
For Each objItem in colItems
    'Find Application Pool

    Dim AppPool
    Dim ln
    AppName = objItem.Name 
    ln=Len(AppName)
    AppPool = Mid(AppName , 16 ,ln) 
    Wscript.Echo "" 
    Wscript.Echo "+AppPoolId: " & AppPool
    For m = 0 to n 
        WebSiteId = WebSiteIds(m)
        objItem.EnumAppsInPool arrApplications
        displayWebSite = true
        'Find Application Name

        For i = 0 to Ubound(arrApplications)
            Dim application
            Dim length
            Dim arrApp
            arrApp = arrApplications(i)
            length=Len(arrApp)-5
            application = Mid(arrApp , 5 ,length)
            nextslashPos = InStr(7, application, "/")
            appwebsiteid = Mid(application, 7, nextslashPos - 7 )
            matchFound = StrComp( appwebsiteid, WebSiteId )
            If matchFound=0 then 
                if displayWebSite = true Then 
                    'Dispaly Website Id & Website Name

                    Wscript.Echo Space(4) &"+WebSiteID: " & WebSiteId 
                    Wscript.Echo Space(4) & "+WebSite Name: " &_
                                            WebSiteDisplayName(m)
                    displayWebSite = false
                End If
                Wscript.Echo Space(8) & "-Application Name: " & application
            End if 
        Next 
    Next
    Wscript.Echo "" 
    Wscript.Echo "" 
    Wscript.Echo "" 
Next

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here