October 26, 2010

使用Command Line方式在IIS6佈署網站

年底到,一些要結案的系統也要開始寫安裝手冊。手邊有一個Web AP,手動佈署不複雜,但要寫成詳細點的step-by-step安裝步驟卻也是得cut好幾張圖。由於這個系統沒有複雜到一定要用IIS的UI管理工具來設定,所以就試試把它寫成一支batch檔,以command line的方式來執行系統安裝,省去了一些安裝步驟的說明,順便學學adsutil.vbs這支好用的command-line script。

以下引述MSDN對於adsutil.vbs的解釋
Adsutil.vbs is an IIS administration utility that uses Microsoft Visual Basic Scripting Edition (VBScript) with Active Directory Service Interfaces (ADSI) to manipulate the IIS configuration. This script should be run using CScript, which is installed with Windows Script Host.

簡單地說,它是一個IIS的管理工具,透過CScript指令可以command line的方式對IIS做設定。adsutil.vbs的位置在C:\Inetpub\AdminScripts下,以下為我用來佈署用的的command line

@echo off 
echo 開始安裝... 
echo 1.設定首頁 
cscript /nologo C:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/1/ROOT/DefaultDoc Default.aspx

echo 2.設定預設網站路徑 
cscript /nologo C:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/1/ROOT/Path C:\Inetpub\wwwroot\MyWebApp 

echo 3.設定.NET Framework使用版本 
%windir%\microsoft.net\framework\v2.0.50727\aspnet_regiis -s W3SVC/1/ROOT 

echo 安裝完成 
pause

上述的command line主要有三個步驟,設定預設網站首頁、路徑及將.NET Framework使用版本設為v2.0.50727

W3SVC/1/ROOT為預設的網站,由於我只需要安裝一個Web AP在系統上,所以我直接使用預設的網站。如果需要額外新增網站或虛擬目錄來設定,可以參考iisweb.vbsiisvdir.vbs兩支command-line script

如果想知道adsutil.vbs提供哪些參數可以設定,可以用
cscript /nologo C:\Inetpub\AdminScripts\adsutil.vbs ENUM_ALL W3SVC/1/ROOT來列出可設定的參數

因為參數不少,也可以下列command line輸出成文字檔
cscript /nologo C:\Inetpub\AdminScripts\adsutil.vbs ENUM_ALL W3SVC/1/ROOT > D:\param.txt

以下為執行結果

No comments: