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
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
配置目錄的存取權限
C:InetpubAdmins cripts>chaccess.vbs -a w3svc/1/ROOT -verbose
Usage: chaccess <--ADSPath|-a ADSPATH> 控制配置路徑
[--computer|-c COMPUTER1[,COMPUTER2…]]指定機器名,IP也可。
[+read|-read] 主目錄下的讀取權限
[+write|-write]主目錄下的寫入權限
[+s cript|-s cript]主目錄下的執行許可權限為純腳本
[+execute|-execute]主目錄下的執行許可權限為腳本和可執行程序
[+browse|-browse]主目錄下的目錄浏覽權限
[--verbose|-v]當前版本
[--help|-?]
顯示指定路徑的屬性及狀態信息
C:InetpubAdmins cripts>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:InetpubAdmins cripts>findweb
Web Site Number = 1
Web Site Des cription = 默認 Web 站點
Hostname =
Port = 80
IP Address =
C:InetpubAdmins cripts>findweb m7.net
Web Site Number = 2
Web Site Des cription = m7.net
Hostname = www.m7.net
Port = 80
IP Address = www.m7.net
顯示指定站點路徑管理樹
C:InetpubAdmins cripts>disptree.vbs help
Usage: disptree [--ADSPath|-a ROOT NODE] 指定要顯示管理樹的路徑
[--NoRecurse|-n]
[--Help|-?]
創建WEB虛擬站點
C:InetpubAdmins cripts>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|-?]
創建指定站點的虛擬目錄
C:InetpubAdmins cripts>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:inetpubwwwrootdir1","dir2","c:inetpubwwwrootdir2"
暫停指定站點的IIS服務
C:InetpubAdmins cripts>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:InetpubAdmins cripts>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
用法同上
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 設定虛擬目錄的路徑 www.2cto.com
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
REM 設定