home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / software / pelne / optionp / iis4_07.cab / stopweb.vbs < prev    next >
Text File  |  1997-10-25  |  3KB  |  98 lines

  1. '------------------------------------------------------------------------------------------------
  2. '
  3. ' Usage: stopweb <--ADSPath|-a server1[,server2,server3...]> 
  4. '                          [--computer|-c COMPUTER1[,COMPUTER2...]]
  5. '                           [--verbose|-v]
  6. '                          [--help|-?]
  7. '
  8. ' SERVERx         Web Server # to be stopped
  9. '
  10. ' Example 1: stopweb --a 3,1
  11. '------------------------------------------------------------------------------------------------
  12.  
  13. ' Force explicit declaration of all variables.
  14. Option Explicit
  15.  
  16. On Error Resume Next
  17.  
  18. Dim oArgs, ArgNum, ArgServerList
  19. Dim verbose
  20. Dim ArgComputers
  21.  
  22. ArgComputers = Array("LocalHost")
  23. verbose = false
  24.  
  25. Set oArgs = WScript.Arguments
  26. ArgNum = 0
  27. While ArgNum < oArgs.Count
  28.  
  29.     Select Case LCase(oArgs(ArgNum))
  30.         Case "--adspath","-a":
  31.             ArgNum = ArgNum + 1
  32.             ArgServerList=Split(oArgs(ArgNum), ",", -1)
  33.         Case "--computer","-c":
  34.             ArgNum = ArgNum + 1
  35.             ArgComputers = Split(oArgs(ArgNum), ",", -1)
  36.         Case "--verbose", "-v":
  37.             verbose = true
  38.         Case "--help","-?":
  39.             Call DisplayUsage
  40.         Case Else:
  41.             Call DisplayUsage
  42.     End Select    
  43.  
  44.     ArgNum = ArgNum + 1
  45. Wend
  46.  
  47. If Not IsArray(ArgServerList) Then
  48.     Call DisplayUsage
  49. End If
  50.  
  51. Dim compIndex
  52.  
  53. for compIndex = 0 to UBound(ArgComputers)
  54.     Call ASTStopWebServers(ArgComputers(compIndex),ArgServerList)
  55. next
  56.  
  57. Sub ASTStopWebServers(Computer, ServerList)
  58.     Dim ServerNum, oServer
  59.  
  60.     On Error Resume Next
  61.     ServerNum = 0
  62.     Dim fullPath
  63.     While ServerNum <= UBound(ServerList)
  64.         fullPath = "IIS://"&Computer&"/W3svc/"&ArgServerList(ServerNum)
  65.         Trace "Stopping " & fullPath & "."
  66.         Set oServer = GetObject(fullPath)
  67.         If Err <> 0 Then
  68.             Display "Unable to open " & fullPath & "."
  69.         End If
  70.         oServer.Stop
  71.         If Err <> 0 Then
  72.             Display "Unable to stop web server " & fullPath & "."
  73.         End If
  74.         ServerNum = ServerNum + 1
  75.     Wend 
  76. End Sub
  77.  
  78. Sub Display(Msg)
  79.     WScript.Echo Now & ". Error Code: " & Hex(Err) & " - " & Msg
  80. End Sub
  81.  
  82. Sub Trace(Msg)
  83.     if verbose = true then
  84.         WScript.Echo Now & " : " & Msg    
  85.     end if
  86. End Sub
  87.     
  88. Sub DisplayUsage
  89.     WScript.Echo "Usage: stopweb <--ADSPath|-a server1[,server2,server3...]>"
  90.     WScript.Echo "               [--computer|-c COMPUTER1[,COMPUTER2...]]"
  91.     WScript.Echo "               [--verbose|-v]"
  92.     WScript.Echo "               [--help|-?]"
  93.     WScript.Echo "Note: server1, server2, etc. is the number of the server"
  94.     WScript.Echo "Example 1: stopweb -a 1,2,5"
  95.     WScript.Echo "Example 2: stopweb -c MACHINE1,MACHINE2,MACHINE3 -a 1,2,5"
  96.     WScript.Quit (1)
  97. End Sub
  98.