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.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述