Adsutil.vbs是Windows 2003的IIS服务自带的基于命令行下的IIS管理脚本,位于%SystemDrive%InetpubAdminScripts目录下,95,426字节。
该脚本功能强大,其实它就是个命令行下的“Internet 信息服务管理器”(事实上Windows 2000用%SystemDrive%InetpubAdminScripts下原有的20多个VBS进行管理,而到了2003则只剩下Adsutil.vbs一个了,足以说明它的功能是多么强大)。
提到Adsutil.vbs就不得不提到MetaBase.bin,这个文件是IIS最重要的配置文件,所有IIS的设置最终都会储存在这个文件中,IIS管理器和Adsutil.vbs就是通过对这个文件读取配置信息来显示给用户的。它的储存结构十分像注册表,是一种树型储存结构。
IIS管理器和Adsutil.vbs通过一个Adspath的路径来访问MetaBase.bin,路径是由IIS:开头,其中LocalHost表示本地服务器,而W3svc表示IIS服务,如IIS:LocalHost/w3svc/1表示本地服务器上的第一个WEB站点,IIS:LocalHost/w3svc/1/root/Vdir表示第一个WEB站点根目录下的Vdir虚拟目录。
Adsutil.vbs基本用法
有了这些前置知识,下面再回到Adsutil.vbs来看看它的用法:
C:InetpubAdminScripts>cscript Adsutil.vbs
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。
Usage:
ADSUTIL.VBS <cmd> [<path> [<value>]]
Description:
IIS administration utility that enables the configuration of metabase properties
Supported Commands: //支持的命令,这个最重要
GET,SET,ENUM,Delete,Create,COPY,APPCreateINPROC,APPCreateOUTPROC,APPCreatePOOLPROC,APPDelete,APPUNLOAD, APPGETSTATUS
配置目录的存取权限
显示指定路径的属性及状态信息
寻找命名的Web,并显示节点号、描述、主机名、端口和IP地址
显示指定站点路径管理树
创建WEB虚拟站点
创建指定站点的虚拟目录
暂停指定站点的IIS服务
恢复暂停的站点的IIS服务
用法同上
pauseftp.vbs 暂停FTP服务器服务
contftp.vbs 恢复被暂停的FTP服务
pauseweb.vbs 暂停Web服务器服务
contweb.vbs 恢复暂停的WWW服务
停止指定站点的IIS服务器服务
C:InetpubAdmins cripts>stopsrv.vbs -a w3svc/2
启动指定站点的IIS服务器服务
C:InetpubAdmins cripts>startsrv.vbs -a w3svc/2
停止指定站点的WEB服务器服务
C:InetpubAdmins cripts>startweb.vbs -a w3svc/2
启动指定站点的Web服务器服务
C:InetpubAdmins cripts>stopweb.vbs -a 2
用法同上
stopftp.vbs 停止FTP服务器服务
startftp.vbs 启动FTP服务器服务
跟踪脚本的执行
C:InetpubAdmins cripts>synciwam.vbs -h
Usage: cs cript synciwam.vbs [-v|-h]
-v verbose: trace execution of the s cript
-h help: print this message
实用举例:
REM 创建虚拟目录
cscript scriptsadsutil.vbs //Nologo //T:300 create W3SVC/1/Root/%1 "IIsWebVirtualDir"
REM 设置虚拟目录的属性
REM 创建一个进程内应用程序(.Net中没有inproc与outproc的区别,但旧脚本仍可使用)
cscript scriptsadsutil.vbs //Nologo //T:60 appcreateinproc W3SVC/1/Root/%1
REM 设定应用程序的根目录
cscript scriptsadsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/AppRoot /LM/W3SVC/1/Root/%1
REM 设定应用程序的显示名称
cscript scriptsadsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/AppFriendlyName %1
应用程序的隔离等级(在.Net中不用设置)
cscript scriptsadsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/AppIsolated %2
REM 设定虚拟目录的路径
cscript scriptsadsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/Path %2
REM 设定虚拟目录的执行权限,513是纯脚本方式
cscript scriptsadsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/AccessFlags 513
REM 设定AuthFlags的值,5表示允许匿名访问和集成Windows验证
cscript scriptsadsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/AuthFlags 5
REM 设定DirbrowseFlags的值,DirbrowseFlags是控制目录浏览的开关参数,比较复杂,照填就行了
cscript scriptsadsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/DirbrowseFlags 1073741886
REM 设定默认文档
cscript scriptsadsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/DefaultDoc "Default.aspx"
REM 设定目录权限(可读、不可写、可浏览脚本资源、不可查看目录)
cscript scriptschaccess.vbs //Nologo //T:60 -a W3SVC/1/Root/%1 +read -write +script -browse