配置目录的存取权限
C:/Inetpub/AdminScripts>chaccess.vbs -a w3svc/1/ROOT -verbose
Usage: chaccess <--ADSPath|-a ADSPATH> 控制配置路径
[--computer|-c COMPUTER1[,COMPUTER2...]]指定机器名,IP也可。
[+read|-read] 主目录下的读取权限
[+write|-write]主目录下的写入权限
[+script|-script]主目录下的执行许可权限为纯脚本
[+execute|-execute]主目录下的执行许可权限为脚本和可执行程序
[+browse|-browse]主目录下的目录浏览权限
[--verbose|-v]当前版本
[--help|-?]
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
显示指定路径的属性及状态信息
C:/Inetpub/AdminScripts>dispnode help
Usage: dispnode <--ADSPath|-a ADS PATH OF NODE> [--help|-h]
ADS PATH - The Path of the node to be displayed
Example 1: dispnode -a IIS://LocalHost/w3svc显示当前IIS的主属性
Example 2: dispnode --adspath IIS://MachineName/w3svc/1 显示当前站点的状态信息
寻找命名的Web,并显示节点号、描述、主机名、端口和IP地址
C:/Inetpub/AdminScripts>findweb
Web Site Number = 1
Web Site Description = 默认 Web 站点
Hostname =
Port = 80
IP Address =
C:/Inetpub/AdminScripts>findweb m7.net
Web Site Number = 2
Web Site Description = m7.net
Hostname = www.m7.net
Port = 80
IP Address = www.m7.net
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
显示指定站点路径管理树
C:/Inetpub/AdminScripts>disptree.vbs help
Usage: disptree [--ADSPath|-a ROOT NODE] 指定要显示管理树的路径
[--NoRecurse|-n]
[--Help|-?]
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
创建WEB虚拟站点
C:/Inetpub/AdminScripts>mkw3site help
Unknown argument help
Usage: mkw3site <--RootDirectory|-r ROOT DIRECTORY>网站路径名
<--Comment|-t SERVER COMMENT>WEB网站标识
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--port|-o PORT NUM]端口
[--IPAddress|-i IP ADDRESS]IP地址
[--HostName|-h HOST NAME]主机名
[--SiteNumber|-n SITENUMBER]
[--DontStart]不启动
[--verbose|-v]
[--help|-?]
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
创建指定站点的虚拟目录
C:/Inetpub/AdminScripts>mkwebdir.vbs help
Usage: mkwebdir [--computer|-c COMPUTER1,COMPUTER2]指定服务器名
<--website|-w WEBSITE1>指定虚拟站点名
<--virtualdir|-v NAME1,PATH1,NAME2,PATH2,...>指定虚拟目录名和目录文件地址
[--help|-?]
Example : mkwebdir -c MyComputer -w "Default Web Site"
-v "dir1","c:/inetpub/wwwroot/dir1","dir2","c:/inetpub/wwwroot/dir2"
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
暂停指定站点的IIS服务
C:/Inetpub/AdminScripts>pausesrv help
Usage: pausesrv <--ADSPath|-a server1[,server2,server3...]>
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--verbose|-v]
[--help|-?]
Example 1: pausesrv -a w3svc/1,msftpsvc/2
Example 2: pauseftp -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2
恢复暂停的站点的IIS服务
C:/Inetpub/AdminScripts>contsrv.vbs help
Usage: contsrv <--ADSPath|-a server1[,server2,server3...]>
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--verbose|-v]
[--help|-?]
Example 1: contsrv -a w3svc/1,msftpsvc/2
Example 2: contsrv -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
用法同上
pauseftp.vbs 暂停FTP服务器服务
contftp.vbs 恢复被暂停的FTP服务
pauseweb.vbs 暂停Web服务器服务
contweb.vbs 恢复暂停的WWW服务
停止指定站点的IIS服务器服务
C:/Inetpub/AdminScripts>stopsrv.vbs -a w3svc/2
启动指定站点的IIS服务器服务
C:/Inetpub/AdminScripts>startsrv.vbs -a w3svc/2
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
停止指定站点的WEB服务器服务
C:/Inetpub/AdminScripts>startweb.vbs -a w3svc/2
启动指定站点的Web服务器服务
C:/Inetpub/AdminScripts>stopweb.vbs -a 2
用法同上
stopftp.vbs 停止FTP服务器服务
startftp.vbs 启动FTP服务器服务
跟踪脚本的执行
C:/Inetpub/AdminScripts>synciwam.vbs -h
Usage: cscript synciwam.vbs [-v|-h]
-v verbose: trace execution of the script
-h help: print this message
C:/Inetpub/AdminScripts>chaccess.vbs -a w3svc/1/ROOT -verbose
Usage: chaccess <--ADSPath|-a ADSPATH> 控制配置路径
[--computer|-c COMPUTER1[,COMPUTER2...]]指定机器名,IP也可。
[+read|-read] 主目录下的读取权限
[+write|-write]主目录下的写入权限
[+script|-script]主目录下的执行许可权限为纯脚本
[+execute|-execute]主目录下的执行许可权限为脚本和可执行程序
[+browse|-browse]主目录下的目录浏览权限
[--verbose|-v]当前版本
[--help|-?]
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
显示指定路径的属性及状态信息
C:/Inetpub/AdminScripts>dispnode help
Usage: dispnode <--ADSPath|-a ADS PATH OF NODE> [--help|-h]
ADS PATH - The Path of the node to be displayed
Example 1: dispnode -a IIS://LocalHost/w3svc显示当前IIS的主属性
Example 2: dispnode --adspath IIS://MachineName/w3svc/1 显示当前站点的状态信息
寻找命名的Web,并显示节点号、描述、主机名、端口和IP地址
C:/Inetpub/AdminScripts>findweb
Web Site Number = 1
Web Site Description = 默认 Web 站点
Hostname =
Port = 80
IP Address =
C:/Inetpub/AdminScripts>findweb m7.net
Web Site Number = 2
Web Site Description = m7.net
Hostname = www.m7.net
Port = 80
IP Address = www.m7.net
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
显示指定站点路径管理树
C:/Inetpub/AdminScripts>disptree.vbs help
Usage: disptree [--ADSPath|-a ROOT NODE] 指定要显示管理树的路径
[--NoRecurse|-n]
[--Help|-?]
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
创建WEB虚拟站点
C:/Inetpub/AdminScripts>mkw3site help
Unknown argument help
Usage: mkw3site <--RootDirectory|-r ROOT DIRECTORY>网站路径名
<--Comment|-t SERVER COMMENT>WEB网站标识
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--port|-o PORT NUM]端口
[--IPAddress|-i IP ADDRESS]IP地址
[--HostName|-h HOST NAME]主机名
[--SiteNumber|-n SITENUMBER]
[--DontStart]不启动
[--verbose|-v]
[--help|-?]
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
创建指定站点的虚拟目录
C:/Inetpub/AdminScripts>mkwebdir.vbs help
Usage: mkwebdir [--computer|-c COMPUTER1,COMPUTER2]指定服务器名
<--website|-w WEBSITE1>指定虚拟站点名
<--virtualdir|-v NAME1,PATH1,NAME2,PATH2,...>指定虚拟目录名和目录文件地址
[--help|-?]
Example : mkwebdir -c MyComputer -w "Default Web Site"
-v "dir1","c:/inetpub/wwwroot/dir1","dir2","c:/inetpub/wwwroot/dir2"
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
暂停指定站点的IIS服务
C:/Inetpub/AdminScripts>pausesrv help
Usage: pausesrv <--ADSPath|-a server1[,server2,server3...]>
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--verbose|-v]
[--help|-?]
Example 1: pausesrv -a w3svc/1,msftpsvc/2
Example 2: pauseftp -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2
恢复暂停的站点的IIS服务
C:/Inetpub/AdminScripts>contsrv.vbs help
Usage: contsrv <--ADSPath|-a server1[,server2,server3...]>
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--verbose|-v]
[--help|-?]
Example 1: contsrv -a w3svc/1,msftpsvc/2
Example 2: contsrv -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
用法同上
pauseftp.vbs 暂停FTP服务器服务
contftp.vbs 恢复被暂停的FTP服务
pauseweb.vbs 暂停Web服务器服务
contweb.vbs 恢复暂停的WWW服务
停止指定站点的IIS服务器服务
C:/Inetpub/AdminScripts>stopsrv.vbs -a w3svc/2
启动指定站点的IIS服务器服务
C:/Inetpub/AdminScripts>startsrv.vbs -a w3svc/2
有问题请到我的博客讨论: http://blog.csdn.net/bigbird998
停止指定站点的WEB服务器服务
C:/Inetpub/AdminScripts>startweb.vbs -a w3svc/2
启动指定站点的Web服务器服务
C:/Inetpub/AdminScripts>stopweb.vbs -a 2
用法同上
stopftp.vbs 停止FTP服务器服务
startftp.vbs 启动FTP服务器服务
跟踪脚本的执行
C:/Inetpub/AdminScripts>synciwam.vbs -h
Usage: cscript synciwam.vbs [-v|-h]
-v verbose: trace execution of the script
-h help: print this message
把脚本贴上,大家研究下~~
'
------------------------------------------------------------------------------------------------
'有问题请到我的博客讨论:http://blog.csdn.net/bigbird998
'
' Usage: chaccess <--ADSPath|-a relative config store path>
' [--computer|-c COMPUTER1[,COMPUTER2...]]
' [+read|-read]
' [+write|-write]
' [+script|-script]
' [+execute|-execute]
' [+browse|-browse]
' [--verbose|-v]
' [--help|-?]
'
' ADSPATH The ADSI Path of the virtual root in question
'
' Example 1: chaccess -a w3svc/1/ROOT +read -write +script +browse
' ------------------------------------------------------------------------------------------------
' Force explicit declaration of all variables
Option Explicit
On Error Resume Next
Const Error_NoNode = " Unable to open specified node. "
Dim oArgs, ArgNum, verbose, propNum, ArgPath
Dim ArgComputers
Dim prop( 15 , 2 )
verbose = false
propNum = 0
ArgNum = 0
ArgPath = ""
ArgComputers = Array ( " LocalHost " )
Set oArgs = WScript.Arguments
While ArgNum < oArgs.Count
Select Case LCase (oArgs(ArgNum))
Case " --adspath " , " -a " :
ArgNum = ArgNum + 1
ArgPath = oArgs(ArgNum)
Case " --computer " , " -c " :
ArgNum = ArgNum + 1
ArgComputers = Split (oArgs(ArgNum), " , " , - 1 )
Case " --verbose " , " -v " :
verbose = true
Case " -read " :
prop(propNum, 0 ) = " AccessRead "
prop(propNum, 1 ) = false
propNum = propNum + 1
Case " +read " :
prop(propNum, 0 ) = " AccessRead "
prop(propNum, 1 ) = true
propNum = propNum + 1
Case " -write " :
prop(propNum, 0 ) = " AccessWrite "
prop(propNum, 1 ) = false
propNum = propNum + 1
Case " +write " :
prop(propNum, 0 ) = " AccessWrite "
prop(propNum, 1 ) = true
propNum = propNum + 1
Case " -script " :
prop(propNum, 0 ) = " AccessScript "
prop(propNum, 1 ) = false
propNum = propNum + 1
Case " +script " :
prop(propNum, 0 ) = " AccessScript "
prop(propNum, 1 ) = true
propNum = propNum + 1
Case " -execute " :
prop(propNum, 0 ) = " AccessExecute "
prop(propNum, 1 ) = false
propNum = propNum + 1
Case " +execute " :
prop(propNum, 0 ) = " AccessExecute "
prop(propNum, 1 ) = true
propNum = propNum + 1
Case " -browse " :
prop(propNum, 0 ) = " EnableDirBrowsing "
prop(propNum, 1 ) = false
propNum = propNum + 1
Case " +browse " :
prop(propNum, 0 ) = " EnableDirBrowsing "
prop(propNum, 1 ) = true
propNum = propNum + 1
Case " --help " , " -? " :
Call DisplayUsage
Case Else :
Call DisplayUsage
End Select
ArgNum = ArgNum + 1
Wend
If (ArgPath = "" ) Then
Call DisplayUsage
End If
Dim compIndex
for compIndex = 0 to UBound (ArgComputers)
Call ASTSetPerms(ArgComputers(compIndex), ArgPath, prop, propNum)
next
Sub ASTSetPerms(Computer, Path, propList, propCount)
On Error Resume Next
Dim oAdmin
Dim fullPath
fullPath = " IIS:// " & Computer & " / " & Path
Trace " Opening path " & fullPath
Set oAdmin = GetObject (fullPath)
If Err.Number <> 0 Then
Display Error_NoNode
WScript.Quit ( 1 )
End If
Dim name, val
if propCount > 0 then
Dim i
for i = 0 to propCount - 1
val = propList(i, 1 )
if verbose = true then
Trace " Setting " & fullPath & " / " & name & " = " & val
end if
oAdmin.Put name, (val)
If Err <> 0 Then
Display " Unable to set property " & name
End If
next
oAdmin.SetInfo
If Err <> 0 Then
Display " Unable to save updated information. "
End If
end if
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: chaccess <--ADSPath|-a ADSPATH> "
WScript.Echo " [--computer|-c COMPUTER1[,COMPUTER2...]] "
WScript.Echo " [+read|-read] "
WScript.Echo " [+write|-write] "
WScript.Echo " [+script|-script] "
WScript.Echo " [+execute|-execute] "
WScript.Echo " [+browse|-browse] "
WScript.Echo " [--verbose|-v] "
WScript.Echo " [--help|-?] "
WScript.Echo " Example 1: chaccess -a w3svc/1/ROOT +read -write +script +browse "
WScript.Echo " Example 2: chaccess -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1/ROOT +read -write +script +browse "
WScript.Quit ( 1 )
End Sub
'有问题请到我的博客讨论:http://blog.csdn.net/bigbird998
'
' Usage: chaccess <--ADSPath|-a relative config store path>
' [--computer|-c COMPUTER1[,COMPUTER2...]]
' [+read|-read]
' [+write|-write]
' [+script|-script]
' [+execute|-execute]
' [+browse|-browse]
' [--verbose|-v]
' [--help|-?]
'
' ADSPATH The ADSI Path of the virtual root in question
'
' Example 1: chaccess -a w3svc/1/ROOT +read -write +script +browse
' ------------------------------------------------------------------------------------------------
' Force explicit declaration of all variables
Option Explicit
On Error Resume Next
Const Error_NoNode = " Unable to open specified node. "
Dim oArgs, ArgNum, verbose, propNum, ArgPath
Dim ArgComputers
Dim prop( 15 , 2 )
verbose = false
propNum = 0
ArgNum = 0
ArgPath = ""
ArgComputers = Array ( " LocalHost " )
Set oArgs = WScript.Arguments
While ArgNum < oArgs.Count
Select Case LCase (oArgs(ArgNum))
Case " --adspath " , " -a " :
ArgNum = ArgNum + 1
ArgPath = oArgs(ArgNum)
Case " --computer " , " -c " :
ArgNum = ArgNum + 1
ArgComputers = Split (oArgs(ArgNum), " , " , - 1 )
Case " --verbose " , " -v " :
verbose = true
Case " -read " :
prop(propNum, 0 ) = " AccessRead "
prop(propNum, 1 ) = false
propNum = propNum + 1
Case " +read " :
prop(propNum, 0 ) = " AccessRead "
prop(propNum, 1 ) = true
propNum = propNum + 1
Case " -write " :
prop(propNum, 0 ) = " AccessWrite "
prop(propNum, 1 ) = false
propNum = propNum + 1
Case " +write " :
prop(propNum, 0 ) = " AccessWrite "
prop(propNum, 1 ) = true
propNum = propNum + 1
Case " -script " :
prop(propNum, 0 ) = " AccessScript "
prop(propNum, 1 ) = false
propNum = propNum + 1
Case " +script " :
prop(propNum, 0 ) = " AccessScript "
prop(propNum, 1 ) = true
propNum = propNum + 1
Case " -execute " :
prop(propNum, 0 ) = " AccessExecute "
prop(propNum, 1 ) = false
propNum = propNum + 1
Case " +execute " :
prop(propNum, 0 ) = " AccessExecute "
prop(propNum, 1 ) = true
propNum = propNum + 1
Case " -browse " :
prop(propNum, 0 ) = " EnableDirBrowsing "
prop(propNum, 1 ) = false
propNum = propNum + 1
Case " +browse " :
prop(propNum, 0 ) = " EnableDirBrowsing "
prop(propNum, 1 ) = true
propNum = propNum + 1
Case " --help " , " -? " :
Call DisplayUsage
Case Else :
Call DisplayUsage
End Select
ArgNum = ArgNum + 1
Wend
If (ArgPath = "" ) Then
Call DisplayUsage
End If
Dim compIndex
for compIndex = 0 to UBound (ArgComputers)
Call ASTSetPerms(ArgComputers(compIndex), ArgPath, prop, propNum)
next
Sub ASTSetPerms(Computer, Path, propList, propCount)
On Error Resume Next
Dim oAdmin
Dim fullPath
fullPath = " IIS:// " & Computer & " / " & Path
Trace " Opening path " & fullPath
Set oAdmin = GetObject (fullPath)
If Err.Number <> 0 Then
Display Error_NoNode
WScript.Quit ( 1 )
End If
Dim name, val
if propCount > 0 then
Dim i
for i = 0 to propCount - 1
val = propList(i, 1 )
if verbose = true then
Trace " Setting " & fullPath & " / " & name & " = " & val
end if
oAdmin.Put name, (val)
If Err <> 0 Then
Display " Unable to set property " & name
End If
next
oAdmin.SetInfo
If Err <> 0 Then
Display " Unable to save updated information. "
End If
end if
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: chaccess <--ADSPath|-a ADSPATH> "
WScript.Echo " [--computer|-c COMPUTER1[,COMPUTER2...]] "
WScript.Echo " [+read|-read] "
WScript.Echo " [+write|-write] "
WScript.Echo " [+script|-script] "
WScript.Echo " [+execute|-execute] "
WScript.Echo " [+browse|-browse] "
WScript.Echo " [--verbose|-v] "
WScript.Echo " [--help|-?] "
WScript.Echo " Example 1: chaccess -a w3svc/1/ROOT +read -write +script +browse "
WScript.Echo " Example 2: chaccess -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1/ROOT +read -write +script +browse "
WScript.Quit ( 1 )
End Sub
'
------------------------------------------------------------------------------------------------
'有问题请到我的博客讨论:http://blog.csdn.net/bigbird998
' Usage: stopsrv <--ADSPath|-a server1[,server2,server3...]>
' [--help|-?]
'
' SERVERx Relative ADSI path to the server to be Stopped
'
' Example 1: stopsrv -a IIS://LocalHost/w3svc/3,IIS://LocalHost/w3svc/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 ASTStopServers(ArgComputers(compIndex),ArgServerList)
next
Sub ASTStopServers(Computer, ServerList)
Dim ServerNum, oServer
On Error Resume Next
ServerNum = 0
Dim fullPath
While ServerNum <= UBound (ServerList)
fullPath = " IIS:// " & Computer & " / " & 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 server " & fullPath & " . "
End If
ServerNum = ServerNum + 1
Wend
End Sub
Sub DisplayUsage
WScript.Echo " Usage: stopsrv <--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 machine relative server name, "
WScript.Echo " including the service name "
WScript.Echo " Example 1: stopsrv -a w3svc/1,msftpsvc/2 "
WScript.Echo " Example 2: stopftp -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2 "
WScript.Quit ( 1 )
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
'有问题请到我的博客讨论:http://blog.csdn.net/bigbird998
' Usage: stopsrv <--ADSPath|-a server1[,server2,server3...]>
' [--help|-?]
'
' SERVERx Relative ADSI path to the server to be Stopped
'
' Example 1: stopsrv -a IIS://LocalHost/w3svc/3,IIS://LocalHost/w3svc/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 ASTStopServers(ArgComputers(compIndex),ArgServerList)
next
Sub ASTStopServers(Computer, ServerList)
Dim ServerNum, oServer
On Error Resume Next
ServerNum = 0
Dim fullPath
While ServerNum <= UBound (ServerList)
fullPath = " IIS:// " & Computer & " / " & 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 server " & fullPath & " . "
End If
ServerNum = ServerNum + 1
Wend
End Sub
Sub DisplayUsage
WScript.Echo " Usage: stopsrv <--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 machine relative server name, "
WScript.Echo " including the service name "
WScript.Echo " Example 1: stopsrv -a w3svc/1,msftpsvc/2 "
WScript.Echo " Example 2: stopftp -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2 "
WScript.Quit ( 1 )
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