IIS管理


    目前网络上的网站架设一般都是采用微软公司的IIS+ASP的搭配方式。ASP作为脚本语言,设计网站动态页面;IIS作为服务器,负责对页面的解析处理。默认安装情况之下,IIS包括三个服务:WWW(万维网服务)、SMTP(邮件发送服务)和FTP(文件服务)。IIS使用inetinfo.exe进程提供服务。

  一、命令行工具IISReset

IIS给我们提供了一个命令行工具IISReset来管理IIS服务器。

 IISReset的具体用法如下:

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的重新启动被设置为ENABLE状态,执行命令iisreset /stop 后,再用iisreset /start就能重起成功。一旦设置为disable状态,关闭后就完全不能操作iis的状态,不能关闭和启动iis ,不能察看IIS的状态,甚至不能用这个命令关闭计算机。如果尝试修改状态,就会显示操作错误信息,并有这样的提示:“已禁用 Internet 服务的重新启动”。禁止Internet 服务的重新启动不影响iis的服务,不会关闭inetinfo.exe。在windows任务管理器下关闭inetinfo.exe后它会自动启动。

 
二、关于管理脚本

(一)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

 

 

posted @ 2005-02-19 13:49  Felix Liang  阅读(639)  评论(0编辑  收藏  举报