建立|指令碼|虛擬目錄
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的運行參數,分別設定運行顯示模式和最大已耗用時間