VBScript 用于转储 IIS WebServer 下的 websitelayout 和应用程序






1.21/5 (7投票s)
2005年12月9日

38878

121
VBScript 为 IIS WebServer 提供 websitelayout。
引言
该 VBScript 脚本将使用 WMI 读取元数据库信息。此 VBScript 脚本可以在客户端轻松运行,并一次性告知我们哪些网站正在应用程序池下运行。
当我们在客户端运行此 VBScript 脚本时,它将以树状视图格式提供网站布局。
+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
现在您可以查明在 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