home *** CD-ROM | disk | FTP | other *** search
- '''''''''''''''''''''''''''''''''''''''''''''
- '
- ' Logging Module Enumeration Utility
- '
- '''''''''''''''''''''''''''''''''''''''''''''
-
- ' Description:
- ' ------------
- ' This sample admin script allows you configure logging services for IIS.
- '
- ' To Run:
- ' -------
- ' This is the format for this script:
- '
- ' cscript logenum.vbs [<adspath>]
- '
- ' NOTE: If you want to execute this script directly from Windows, use
- ' 'wscript' instead of 'cscript'.
- '
- '''''''''''''''''''''''''''''''''''''''''''''
-
- ' Initialize error checking
- On Error Resume Next
-
- ' Initialize variables
- Dim ArgCount, TargetNode, SObj, ModListObj, ChildObj, RealModObj, LogNameStr
-
- ' Default values
- ArgCount = 0
- TargetNode = ""
-
-
-
- ' ** Parse Command Line
-
- ' Loop through arguments
- While ArgCount < Wscript.Arguments.Count
-
- ' Determine switches used
- Select Case Wscript.Arguments(ArgCount)
-
- Case "-h", "-?", "/?":
- Call UsageMsg
-
- Case Else: ' specifying what ADsPath to look at
- If TargetNode <> "" Then ' only one name at a time
- Call UsageMsg
- Else
- TargetNode = Wscript.Arguments(ArgCount)
- End If
-
- End Select
-
- ' Move pointer to next argument
- ArgCount = ArgCount + 1
-
- Wend
-
- ' Get main logging module list object
- Set ModListObj = GetObject("IIS://LocalHost/Logging")
- If Err.Number <> 0 Then ' Error!
- WScript.Echo "╬°ΦßΩα: ═σΓετ∞εµφε Γ√∩εδφΦ≥ⁿ GetObject /Localhost/Logging."
- Wscript.Quit(1)
- End If
-
-
- ' LIST ALL MODULES
- If TargetNode = "" Then
-
- WScript.Echo "╠εΣ≤δΦ ΓσΣσφΦ µ≤≡φαδεΓ Σε±≥≤∩φ√ φα ≤τδσ IIS://LocalHost/Logging:"
-
- ' Loop through listed logging modules
- For Each ChildObj in ModListObj
-
- ' break out module friendly name from path
- LogNameStr = ChildObj.Name
-
- Wscript.Echo "╠εΣ≤δⁿ ΓσΣσφΦ µ≤≡φαδα '" & LogNameStr & "':"
- Wscript.Echo " ID ∞εΣ≤δ : " & ChildObj.LogModuleId
- Wscript.Echo " UI ID ∞εΣ≤δ : " & ChildObj.LogModuleUiId
-
- Next
-
- Wscript.Quit(0)
-
- Else
- ' LIST MODULES FOR GIVEN NODE
-
- Set SObj = GetObject(TargetNode)
-
- ' Some error checking ...
- If Err.Number <> 0 Then ' Error!
- WScript.Echo "╬°ΦßΩα: ═σΓετ∞εµφε Γ√∩εδφΦ≥ⁿ GetObject " & TargetNode & "."
- Wscript.Quit(1)
- End If
- If SObj.LogPluginClsId = "" Then ' Not the right type of object
- Wscript.Echo "╬°ΦßΩα: ╬ß·σΩ≥ φσ ∩εΣΣσ≡µΦΓασ≥ ±ΓεΘ±≥Γε LogPluginClsId."
- Wscript.Quit(1)
- End If
-
-
- ' **MAIN LOOP to find the correct logging module
- For Each ChildObj In ModListObj
- If SObj.LogPluginClsId = ChildObj.LogModuleId Then ' Compare CLSIDs
- Set RealModObj = ChildObj
- End If
- Next
-
- ' Code could be added here, in case module ID returned is invalid ...
-
- ' Display Results
- WScript.Echo "╠εΣ≤δⁿ ΓσΣσφΦ µ≤≡φαδα Φ±∩εδⁿτ≤σ≥± Γ '" & SObj.ADsPath & "':"
- Wscript.Echo " ╠εΣ≤δⁿ ΓσΣσφΦ µ≤≡φαδα: " & RealModObj.Name
- Wscript.Echo " ID ∞εΣ≤δ ΓσΣσφΦ µ≤≡φαδα: " & RealModObj.LogModuleId
- Wscript.Echo " UI ID ∞εΣ≤δ ΓσΣσφΦ µ≤≡φαδα: " & RealModObj.LogModuleUiId
-
- End If
-
-
-
-
- ' Displays usage message, then QUITS
- Sub UsageMsg
- Wscript.Echo "╚±∩εδⁿτεΓαφΦσ: cscript logenum.vbs [<∩≤≥ⁿ_ads>]"
- Wscript.Quit
- End Sub
-
-