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
strComputer = "."
Set objWMIService = GetObject("winmgmts:{authenticationLevel=pktPrivacy}\\" &_
strComputer & "\root\microsoftiisv2")
Set colItemswb = objWMIService.ExecQuery( "Select * from IIsWebServerSetting" )
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
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
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
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