AdminScripts脚本位于\Inetpub\AdminScripts目录下,本文介绍如何使用这些脚本来创建一个虚拟目录,并对该虚拟目录进行参数设置。
AdminScripts目录下的脚本很多,这里只使用了其中的两个,adsutil.vbs和chaccess.vbs:
adsutil.vbs - 可用于创建并配置虚拟目录(实际上adsutil.vbs的功能涵盖了其他所有脚本)
chaccess.vbs - 设定虚拟目录的权限
下面是批处理脚本makevd.bat的内容,首先说明一下批处理脚本的调用方式:
makevd.bat "虚拟目录名称" "虚拟目录的路径"
举例:makevd.bat "myVirtualDirectory" "d:\myweb\test"
接下来是makevd.bat的内容:
@echo off
echo ######################################################
echo ######### ########
echo ######### 正在创建虚拟目录... ########
echo ######### 请不要关闭本窗口! ########
echo ######### ########
echo ######################################################
REM 创建虚拟目录
cscript scripts\adsutil.vbs //Nologo //T:300 create W3SVC/1/Root/%1 "IIsWebVirtualDir"
REM 设置虚拟目录的属性
REM 创建一个进程内应用程序(.Net中没有inproc与outproc的区别,但旧脚本仍可使用)
cscript scripts\adsutil.vbs //Nologo //T:60 appcreateinproc W3SVC/1/Root/%1
REM 设定应用程序的根目录
cscript scripts\adsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/AppRoot /LM/W3SVC/1/Root/%1
REM 设定应用程序的显示名称
cscript scripts\adsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/AppFriendlyName %1
REM 设定应用程序的隔离等级(在.Net中不用设置)
cscript scripts\adsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/AppIsolated 2
REM 设定虚拟目录的路径
cscript scripts\adsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/Path %2
REM 设定虚拟目录的执行权限,513是纯脚本方式
cscript scripts\adsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/AccessFlags 513
REM 设定AuthFlags的值,5表示允许匿名访问和集成Windows验证
cscript scripts\adsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/AuthFlags 5
REM 设定DirbrowseFlags的值,DirbrowseFlags是控制目录浏览的开关参数,比较复杂,照填就行了
cscript scripts\adsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/DirbrowseFlags 1073741886
REM 设定默认文档
cscript scripts\adsutil.vbs //Nologo //T:60 set W3SVC/1/Root/%1/DefaultDoc "Default.aspx"
REM 设定目录权限(可读、不可写、可浏览脚本资源、不可查看目录)
cscript scripts\chaccess.vbs //Nologo //T:60 -a W3SVC/1/Root/%1 +read -write +script -browse
//NoLogo和//T:60是cscript的运行参数,分别设定运行显示模式和最大运行时间,详细情况请查阅相关资料。
下面是对DirbrowseFlags参数的说明,1073741886换算为16进制数为0x4000003E,即为show data, show time, show file size, show file name extension, show full data, load default page(if it exists)的值相加。
This property contains flags that control whether directory browsing is enabled, how much directory and file information is provided if browsing is enabled, and whether there is a default page in the directory.
这个属性是一个控制标志,它控制是否可以浏览目录,以及具体可以查看目录或文件的那些信息,还有是否该目录有缺省页面。
Constant Value Description
MD_DIRBROW_SHOW_DATE 0x00000002 Show date.
MD_DIRBROW_SHOW_TIME 0x00000004 Show time.
MD_DIRBROW_SHOW_SIZE 0x00000008 Show file size.
MD_DIRBROW_SHOW_EXTENSION 0x00000010 Show file name extension.
MD_DIRBROW_LONG_DATE 0x00000020 Show full date.
MD_DIRBROW_LOADDEFAULT 0x40000000 Load default page, if it exists.
MD_DIRBROW_ENABLED 0x80000000 Enable directory browsing.