IIS管理
目前网络上的网站架设一般都是采用微软公司的IIS+ASP的搭配方式。ASP作为脚本语言,设计网站动态页面;IIS作为服务器,负责对页面的解析处理。默认安装情况之下,IIS包括三个服务:WWW(万维网服务)、SMTP(邮件发送服务)和FTP(文件服务)。IIS使用inetinfo.exe进程提供服务。
IIS给我们提供了一个命令行工具IISReset来管理IIS服务器。
iisreset [computername]
/RESTART 停止然后重新启动所有 Internet 服务。
/START 启动所有 Internet 服务。
/STOP 停止所有 Internet 服务。
/REBOOT 重新启动计算机(缓时20秒)。
/REBOOTONERROR 如果在启动、停止或重新启动 Internet 服务时出错,
则重新启动计算机。
/NOFORCE 如果试图正常停止服务失败,不强制终止 Internet 服务。
/TIMEOUT:val 指定等待 Internet 服务的成功停止的超时值(以秒为单位)。
如果已指定 REBOOTONERROR 参数,超时后可以重新启动计算机。
服务重新启动的默认值为20 秒,停止为 60 秒,计算机重新启动为 0 秒。
/STATUS 显示所有 Internet 服务的状态。
/ENABLE 启用本地系统上 Internet 服务的重新启动。
/DISABLE 禁用本地系统上 Internet 服务的重新启动。
运行 iisreset /status 结果如下:
World Wide Web Publishing(W3SVC)的状态: 正运行
Simple Mail Transfer Protocol (SMTP)(SMTPSVC)的状态: 已停止
在我的计算机上只安装了www服务和smtp服务,由于用不到smtp,所以我将它停止掉,以防安全漏洞,为黑客有机可乘。这句命令很好地将iis服务器的状态显示出来。
二、关于管理脚本
(一)IIS 管理脚本实用程序 (adsutil)
概述:这是一个 IIS 管理实用程序,通过 Active Directory 服务接口 (ADSI) 使用 VBScript 来控制 IIS 配置。此脚本应使用随 Windows Script Host 一同安装的 CScript 来运行。
用法:
Cscript.exe adsutil.vbs 命令 <路径> [<参数>...]
Cscript.exe adsutil.vbs 命令[<路径> [<参数>...]]
命令:
GET 路径 显示所选参数。
SET 路径值 指定新值。
ENUM 路径 "/P" 列出用于路径的所有参数。/P - 仅列出路径(无数据)。
ENUM_ALL "/P" 列出所有参数。/P - 仅列出路径(无数据)。
DELETE 路径 删除路径或参数。
CREATE 路径 [密钥类型] 创建路径并为其指定密钥类型。
APPCREATEINPROC 路径 创建进程内应用程序。
APPCREATEOUTPROC 路径 创建进程外应用程序。
APPDELETE 路径 删除应用程序(如果存在)。
APPUNLOAD 路径 卸载进程外应用程序。
APPGETSTATUS 路径 获取应用程序的状态。
FIND 路径 查找设置了参数的路径。
START_SERVER 路径 启动服务器。
STOP_SERVER 路径 停止网站。
PAUSE_SERVER 路径 暂停网站。
CONTINUE_SERVER 路径 网站取消暂停。
HELP 打印所有可用命令。
注意
<路径> 指要设置其属性及名称的节点所在的路径。例如,要将"ServerComment"设置为"Web Server Number 1",则命令如下:
adsutil SET w3svc/1/ServerComment "Web Server Number 1"
下一次打开 Internet 信息服务管理单元时,Web 服务器的名称将变为"Web Server Number 1"。
开关"-s:服务器名称"可以在任何命令后面使用,用于在远程计算机上执行该命令。(请参阅下面第一个示例。)
示例:
Cscript.exe adsutil.vbs GET W3SVC/1/ServerBindings -s:remotecomputer1
Cscript.exe adsutil.vbs SET W3SVC/1/ServerBindings ":81:"
Cscript.exe adsutil.vbs CREATE W3SVC/1/Root/MyVdir "IIsWebVirtualDir"
Cscript.exe adsutil.vbs START_SERVER W3SVC/1
Cscript.exe adsutil.vbs ENUM /P W3SVC
(二)显示管理节点 (dispnode)
概述:显示与树中特定管理节点相关的字段。
用法:
dispnode <--ADSPath|-a ADSPATH>
<--help|-h>
参数:ADSPATH 被显示节点的完整 ADSI 路径。
示例:Dispnode -a IIS://LocalHost/w3svc (IIS务必大写)
(三)显示管理树 (disptree)
概述:此功能显示从指定根节点 ROOT 开始的管理对象的树,如果未指定根节点,则从 IIS://LocalHost 开始。对于每个节点,将显示节点的名称和类,对于虚拟服务器,还将显示 ServerComment。默认情况下,脚本将遍历整个树,并显示所有深层节点。可以通过变量 NoRecurse 禁用该行为。
用法:
disptree [--adspath|-a ROOT]
[--NoRecurse|-n]
<--help|-h>
参数:
ROOT 树的根节点的完整 ADSI 路径。
NORECURSE 如果指定该变量,则脚本不会遍历容器对象,因此不会显示整个树。
示例:
Disptree -a IIS://LocalHost/w3svc -n
(四)查找网站 (findweb)
概述:查找指定计算机上的命名网站。
用法:
findweb [--computer|-c COMPUTER] WEBSITE [--help|-?]
参数: Computer 要搜索的计算机。如果未指定,将搜索本机。
WEBSITE 要搜索的网站。如果未指定,将搜索"1"。
此名称可以将此参数指定为如下名称之一,按指定的优先级:
服务器编号(例如,1、2、10 等)
服务器说明("My Server")
服务器主机名称 (www.domain.com)
IP 地址 (172.16.0.0)
help 返回该命令的帮助。
示例:
findweb
findweb -c MACHINE www.domain.com
(五)创建网站 (mkw3site)
概述:创建一个网站。
用法:
mkw3site <--RootDirectory|-r ROOT DIRECTORY>
<--Comment|-t SERVER COMMENT>
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--port|-o PORT NUM]
[--IPAddress|-i IP ADDRESS]
[--admin|-a ADMINISTRATOR]
[--HostName|-h HOST NAME]
[--DontStart]
[--help|-?]
参数:
IP ADDRESS 指派给新服务器的 IP 地址。(可选)
COMPUTER1, COMPUTER2,... 要在其上创建站点的一组计算机。此参数用于使用相同设置配置多台计算机。如果未指定计算机,则认为是本机。
ROOT DIRECTORY 新服务器的根目录的完整路径。
SERVER COMMENT 显示在 Microsoft Management Console (MMC) 中的名称。
ADMINISTRATOR 指派为服务器管理员的用户名。
PORT NUM 新服务器应绑定的端口号。
HOST NAME 指派给此站点的主机名称。
警告:只有当将 DNS 设置为查找服务器时,才可使用主机名称。
DONTSTART 指定该参数将强迫脚本在创建 Web 服务器后不启动它。
示例:
Mkw3site -rootdirectory d:\someplace -t NewServer -hostname www.domain.com
(六)创建虚拟 Web 目录 (mkwebdir)
概述:创建新的 Web 服务器虚拟目录。
用法:
mkwebdir <--computer|-c COMPUTER1,COMPUTER2,...>
<--website|-w WEBSITE>
<--virtualdir|-v NAME1,PATH1,NAME2,PATH2,...>
[--help|-h]
参数:
COMPUTER1, COMPUTER2,... 要在其上创建虚拟 Web 目录的一组计算机。此参数用于使用相同设置配置多台计算机。如果未指定计算机,则认为是本机。
WEBSITE 要在其上创建目录的网站。可以将此参数指定为如下名称之一,按指定的优先级:
服务器编号(如 1、2、10)
服务器说明 (My Server)
服务器主机名称 (www.domain.com)
IP 地址 (172.16.0.0)
NAME1,PATH1,NAME2,PATH2 要创建的虚拟目录的名称和路径。
示例:
Mkwebdir -c LocalHost -w "Default Web Site" -v CommonImages,D:\Images
例如:mkwebdir -c localhost -w "1" -v "me" , d:/images
这里1是站点名称,这里代表w3svc/1,可是不能写作"w3svc/1" 或"w3svc/1/root" ,-v 参数后面有逗号分割虚拟目录和实际目录。由于此命令不检测系统目录是否正确,所以实际目录(d:/Images)务必正确,否则在dos提示下显示创建成功,实际会因为找不到系统目录而失败。
(七)更改访问限制 (chaccess)
概述:更改一组特定计算机中给定节点上所允许的访问类型。例如,您可以使用此脚本控制目录、虚拟目录或文件是否具有读取或执行属性。
用法:
chaccess -a ADSPATH -computer|-c COMPUTER1, COMPUTER2,...
[+read|-read]
[+write|-write]
[+script|-script]
[+execute|-execute]
[+browse|-browse]
[-verbose|-v]
[--help|-?]
参数:
-a ADSPATH 计算机相对路径名称。例如 -a w3svc/1。
-Computer 要在其上进行更改的、逗号分隔的一组计算机。例如 -c Machine1,Machine2,Machine3。此处假设指定路径在所有指定的计算机上都存在。如果未指定计算机,则认为是本机。
+-read
+-write 打开/关闭此节点的写入权限。
+-script 打开/关闭此节点的执行脚本权限。
+-execute 打开/关闭此节点的执行权限。
+-browse 打开/关闭此节点的目录浏览。
-verbose 打印处理过程中的状态信息。
示例:
chaccess -a w3svc/1/ROOT +read -write +script +browse
chaccess -c MACHINE1,MACHINE2 -a w3svc/1/ROOT +read -write +script +browse
(八)Web服务器
1、启动 Web 服务器 (startweb)
概述:启动指定的 Web 服务器。
用法:
startweb <--ADSPath|-a server1[,server2,server3...]>
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--verbose|-v]
[--help|-?]
参数:
-a SERVERx 要启动的服务器的编号。
-Computer 逗号分隔的一组计算机。例如 -c Machine1,Machine2,Machine3。
此处假设指定路径在所有指定的计算机上都存在。如果未指定计算机,则认为是本机。
示例:
startweb -a 1,2
startweb -c MACHINE1,MACHINE2,MACHINE3 -a 1,2
2、停止 Web 服务器 (stopweb)
stopweb -a 1,2
stopweb -c MACHINE1,MACHINE2,MACHINE3 -a 1,2
3、暂停 Web 服务器 (pauseweb)
pauseweb -a 1,2
pauseweb -c MACHINE1,MACHINE2,MACHINE3 -a 1,2
4、恢复 Web 服务器 (contweb)
contweb -a 1,2
contweb -c MACHINE1,MACHINE2,MACHINE3 -a 1,2
(九)FTP 服务器
1、启动 FTP 服务器 (startftp)
概述:启动指定的服务器。
用法:
startftp <--ADSPath|-a server1[,server2,server3...]>
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--verbose|-v]
[--help|-?]
参数:
-a SERVERx 要启动的服务器的编号。
-Computer 逗号分隔的一组计算机。
例如 -c Machine1,Machine2,Machine3。此处假设指定路径在所有指定的计算机上都存在。如果未指定计算机,则认为是本机。
-verbose 打印处理过程中的状态信息。
-h 返回该命令的帮助。
示例:
startftp -a 1,2
startftp -c MACHINE1,MACHINE2,MACHINE3 -a 1,2
2、停止 FTP 服务器 (stopftp)
stopftp -a 1,2
stopftp -c MACHINE1,MACHINE2,MACHINE3 -a 1,2
此方法停止了msftpsvc/1服务,但是ftp服务器还在运行,可以在服务管理器上查看到,等效于adsutil stop_server msftpsvc/1
3、暂停 FTP 服务器 (pauseftp)
pauseftp -a 1,2
pauseftp -c MACHINE1,MACHINE2,MACHINE3 -a 1,2
4、恢复 FTP 服务器 (contftp)
contftp -a 1,2
contftp -c MACHINE1,MACHINE2,MACHINE3 -a 1,2
(十)服务器
1、启动服务器 (startsrv)
概述:启动一组服务器,这这个服务器包括web服务器与ftp服务器,所以他的功能函盖了前面两个命令的功能,startweb、startftp。而且参数也必然比他们复杂一些,因为它必须指明参数是web服务器还是ftp服务器。如 -a w3csvc/1,msftpsvc/1
用法:
startsrv <--ADSPath|-a ServerInstance/X[,ServerInstance/Y,ServerInstance/Z...]>
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--verbose|-v]
[--help|-?]
参数:
-a ServerInstance/X Web 服务器或 FTP 服务器的实例。通常是 w3svc/X 或 msftpsvc/X ,此处 X 是服务器实例的序号;对于 IIS 的默认安装,w3svc/1 是指映射到系统驱动器上 Inetpub\Wwwroot 文件夹的默认网站。
-Computer 逗号分隔的一组计算机。例如 -c Machine1,Machine2,Machine3。
此处假设指定路径在所有指定的计算机上都存在。如果未指定计算机,则认为是本机。
-verbose 打印处理过程中的状态信息。
-h 返回该命令的帮助。
示例:
startsrv -a w3svc/1,msftpsvc/2
startsrv -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2
2、停止服务器 (stopsrv)
stopsrv -a w3svc/1,msftpsvc/2
stopsrv -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2
3、暂停服务器 (pausesrv)
pausesrv -a w3svc/1,msftpsvc/2
pausesrv -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2
4、恢复服务器 (contsrv)
contsrv -a w3svc/1,msftpsvc/2
contsrv -c MACHINE1,MACHINE2,MACHINE3 -a w3svc/1,msftpsvc/2