65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.21/5 (7投票s)

2005年12月9日

viewsIcon

38878

downloadIcon

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
© . All rights reserved.