• 批量生成虚拟目录


    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.


    参考资料:http://www.microsoft.com/windows2000/en/server/iis/default.asp?url=/windows2000/en/server/iis/htm/asp/apro2otv.htm

  • 相关阅读:
    4种常见的缓存问题及解决方案详解
    如果你不了解Java的JVM,那真的很难进BAT一线大厂!
    终于有人把分布式事务说清楚了!
    这3个并发编程的核心,你一定要知道!
    Java垃圾回收机制你还不明白?一线大厂面试必问的!
    几种置换算法
    [ERR] Node 172.168.63.202:7001 is not empty. Either the nodealready knows other nodes (check with CLUSTER NODES) or contains some
    redis集群添加删除节点
    redis集群安装部署
    在Ubuntu下永久修改主机名
  • 原文地址:https://www.cnblogs.com/skylaugh/p/751029.html
Copyright © 2020-2023  润新知