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






1.21/5 (7 votes)
Dec 9, 2005

38420

103
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