用VBS修改IIS Metabase的代码

时间:2022-09-10 08:22:55

//////////////////////////
作者:Jaron, 江都资讯网 
邮件:jaron@jdinfo.net
网址:http://www.jiangdu.net
如果您要转载该文章,请注明出处。
////////////////////////// 
本文解释如何用 Microsoft 自带的adsutil.vbs 来修改 IIS Metabase 的设置方法,这里是通过调用 BAT批处理的方法来实现的,灵活运用一下,可以用于 InstallShield 和其他地方。 

测试环境:Windows 2000 Server (装有IIS服务)
所需文件::
1. cscript.exe 
2. adsutil.vbs (该文件在 C:\Inetpub\AdminScripts 下) 
已经在目标目录下创建了一个IIS的子目录 

在InstallShield中的应用:
######### 
LaunchAppAndWait( SUPPORTDIR ^ "vdir.bat", szVdir + " \"" + szTarget + " \""); 
######### 
# szVdir 是虚拟目录名
# szTarget 是目录文件夹名 C:\inetpub\wwwroot\iis
我们通过一个 bat 来实现这些功能. 

vdir.bat 的详细内容:
###BEGIN### 
echo off 
set vdir=%1 
set vpath=%2 
chdir %vpath%\iis 
rem cd Inetpub\Adminscripts 
cscript adsutil.vbs delete w3svc/1/root/%vdir%   # 删除已经存在的虚拟目录
cscript adsutil.vbs create_vdir w3svc/1/root/%vdir%  #创建虚拟目录 
cscript adsutil.vbs set w3svc/1/root/%vdir%/path %vpath%  # 主目录路径
cscript adsutil.vbs set w3svc/1/root/%vdir%/DefaultDoc "login.asp"  # 默认文档
###END### 

adsutil.vbs 还可以实现很多功能,大家自已去探索吧,以下是关于 adsutil.vbs 的帮助(英文)
================================================================================
Usage:
     ADSUTIL.VBS CMD [param param] 

Note: ADSUTIL only supports the "no switch" option of MDUTIL 

Description:
IIS K2 administration utility that enables the manipulation with ADSI parameters 

Standard MDUTIL Commands:
adsutil.vbs GET      path             - display chosen parameter
adsutil.vbs SET      path value ...   - assign the new value
adsutil.vbs ENUM     path ["/P" | "/A"] - enumerate all parameters for given path
adsutil.vbs DELETE   path             - delete given path or parameter
adsutil.vbs CREATE   path [KeyType]   - create given path and assigns it the given KeyType 

adsutil.vbs APPCREATEINPROC  w3svc/1/root - Create an in-proc application
adsutil.vbs APPCREATEOUTPROC w3svc/1/root - Create an out-proc application
adsutil.vbs APPCREATEPOOLPROC w3svc/1/root- Create a pooled-proc application
adsutil.vbs APPDELETE        w3svc/1/root - Delete the application if there is one
adsutil.vbs APPUNLOAD        w3svc/1/root - Unload an application from w3svc runtime lookup table.
adsutil.vbs APPDISABLE       w3svc/1/root - Disable an application - appropriate for porting to another machine.
adsutil.vbs APPENABLE        w3svc/1/root - Enable an application - appropriate for importing from another machine.
adsutil.vbs APPGETSTATUS     w3svc/1/root - Get status of the application 

New ADSI Options:
/P - Valid for ENUM only.  Enumerates the paths only (no data)
/A - Valid for ENUM only.  Enumerates all data that CAN be set on the node
KeyType - Valide for CREATE only.  Assigns the valid KeyType to the path 

Extended ADSUTIL Commands:
adsutil.vbs FIND             path     - find the paths where a given parameter is set
adsutil.vbs CREATE_VDIR      path     - create given path as a Virtual Directory
adsutil.vbs CREATE_VSERV     path     - create given path as a Virtual Server
adsutil.vbs START_SERVER     path     - starts the given web site
adsutil.vbs STOP_SERVER      path     - stops the given web site
adsutil.vbs PAUSE_SERVER     path     - pauses the given web site
adsutil.vbs CONTINUE_SERVER  path     - continues the given web site 


Samples:
 adsutil.vbs GET W3SVC/1/ServerBindings
 adsutil.vbs SET W3SVC/1/ServerBindings ":81:"
 adsutil.vbs CREATE W3SVC/1/Root/MyVdir "IIsWebVirtualDir"
 adsutil.vbs START_SERVER W3SVC/1
 adsutil.vbs ENUM /P W3SVC
Extended ADSUTIL Commands:
adsutil.vbs FIND             path     - find the paths where a given parameter is set
adsutil.vbs CREATE_VDIR      path     - create given path as a Virtual Directory
adsutil.vbs CREATE_VSERV     path     - create given path as a Virtual Server
adsutil.vbs START_SERVER     path     - starts the given web site
adsutil.vbs STOP_SERVER      path     - stops the given web site
adsutil.vbs PAUSE_SERVER     path     - pauses the given web site
adsutil.vbs CONTINUE_SERVER  path     - continues the given web site 


Samples:
 adsutil.vbs GET W3SVC/1/ServerBindings
 adsutil.vbs SET W3SVC/1/ServerBindings ":81:"
 adsutil.vbs CREATE W3SVC/1/Root/MyVdir "IIsWebVirtualDir"
 adsutil.vbs START_SERVER W3SVC/1
 adsutil.vbs ENUM /P W3SVC