98 lines
2.4 KiB
Plaintext
98 lines
2.4 KiB
Plaintext
|
'------------------------------------------------------------------------------------------------
|
||
|
'
|
||
|
' Usage: stopweb <--ADSPath|-a server1[,server2,server3...]>
|
||
|
' [--computer|-c COMPUTER1[,COMPUTER2...]]
|
||
|
' [--verbose|-v]
|
||
|
' [--help|-?]
|
||
|
'
|
||
|
' SERVERx Web Server # to be stopped
|
||
|
'
|
||
|
' Example 1: stopweb --a 3,1
|
||
|
'------------------------------------------------------------------------------------------------
|
||
|
|
||
|
' Force explicit declaration of all variables.
|
||
|
Option Explicit
|
||
|
|
||
|
On Error Resume Next
|
||
|
|
||
|
Dim oArgs, ArgNum, ArgServerList
|
||
|
Dim verbose
|
||
|
Dim ArgComputers
|
||
|
|
||
|
ArgComputers = Array("LocalHost")
|
||
|
verbose = false
|
||
|
|
||
|
Set oArgs = WScript.Arguments
|
||
|
ArgNum = 0
|
||
|
While ArgNum < oArgs.Count
|
||
|
|
||
|
Select Case LCase(oArgs(ArgNum))
|
||
|
Case "--adspath","-a":
|
||
|
ArgNum = ArgNum + 1
|
||
|
ArgServerList=Split(oArgs(ArgNum), ",", -1)
|
||
|
Case "--computer","-c":
|
||
|
ArgNum = ArgNum + 1
|
||
|
ArgComputers = Split(oArgs(ArgNum), ",", -1)
|
||
|
Case "--verbose", "-v":
|
||
|
verbose = true
|
||
|
Case "--help","-?":
|
||
|
Call DisplayUsage
|
||
|
Case Else:
|
||
|
Call DisplayUsage
|
||
|
End Select
|
||
|
|
||
|
ArgNum = ArgNum + 1
|
||
|
Wend
|
||
|
|
||
|
If Not IsArray(ArgServerList) Then
|
||
|
Call DisplayUsage
|
||
|
End If
|
||
|
|
||
|
Dim compIndex
|
||
|
|
||
|
for compIndex = 0 to UBound(ArgComputers)
|
||
|
Call ASTStopWebServers(ArgComputers(compIndex),ArgServerList)
|
||
|
next
|
||
|
|
||
|
Sub ASTStopWebServers(Computer, ServerList)
|
||
|
Dim ServerNum, oServer
|
||
|
|
||
|
On Error Resume Next
|
||
|
ServerNum = 0
|
||
|
Dim fullPath
|
||
|
While ServerNum <= UBound(ServerList)
|
||
|
fullPath = "IIS://"&Computer&"/W3svc/"&ArgServerList(ServerNum)
|
||
|
Trace "Stopping " & fullPath & "."
|
||
|
Set oServer = GetObject(fullPath)
|
||
|
If Err <> 0 Then
|
||
|
Display "Unable to open " & fullPath & "."
|
||
|
End If
|
||
|
oServer.Stop
|
||
|
If Err <> 0 Then
|
||
|
Display "Unable to stop web server " & fullPath & "."
|
||
|
End If
|
||
|
ServerNum = ServerNum + 1
|
||
|
Wend
|
||
|
End Sub
|
||
|
|
||
|
Sub Display(Msg)
|
||
|
WScript.Echo Now & ". Error Code: " & Hex(Err) & " - " & Msg
|
||
|
End Sub
|
||
|
|
||
|
Sub Trace(Msg)
|
||
|
if verbose = true then
|
||
|
WScript.Echo Now & " : " & Msg
|
||
|
end if
|
||
|
End Sub
|
||
|
|
||
|
Sub DisplayUsage
|
||
|
WScript.Echo "Usage: stopweb <--ADSPath|-a server1[,server2,server3...]>"
|
||
|
WScript.Echo " [--computer|-c COMPUTER1[,COMPUTER2...]]"
|
||
|
WScript.Echo " [--verbose|-v]"
|
||
|
WScript.Echo " [--help|-?]"
|
||
|
WScript.Echo "Note: server1, server2, etc. is the number of the server"
|
||
|
WScript.Echo "Example 1: stopweb -a 1,2,5"
|
||
|
WScript.Echo "Example 2: stopweb -c MACHINE1,MACHINE2,MACHINE3 -a 1,2,5"
|
||
|
WScript.Quit (1)
|
||
|
End Sub
|