Windows Scripting Host 這個概念最早出現於 Windows 98 作業系統。大家一定還記得 MS-Dos 下的批處理命令,它曾有效地簡化了我們的工作、帶給我們方便,這一點就有點類似於如今大行其道的腳本語言。但就算我們把批處理命令看成是一種腳本語言,那它也是 98 版之前的 Windows 作業系統所唯一支持的“腳本語言”。而此後隨著各種真正的腳本語言不斷出現,批處理命令顯然就很是力不從心了。面臨這一危機,微軟在研發 Windows 98 時,為了實現多類腳本檔案在 Windows 界面或 Dos命令提示符下的直接運行,就在系統內植入了一個基於 32 位 Windows 平台、並獨立於語言的腳本運行環境,並將其命名為“Windows Scripting Host”,WSH 架構於 ActiveX 之上,通過充當 ActiveX 的腳本引擎控制器,WSH 為 Windows 用戶充分利用威力強大的腳本指令語言掃清了障礙。
再具體一點描述:你自己編寫了一個腳本檔案,如後綴為 .vbs 或 .js 的檔案,然後在 Windows 下雙擊並執行它,這時,系統就會自動調用一個適當的程式來對它進行解釋並執行,而這個程式,就是 Windows Scripting Host,程式執行檔案名稱為 Wscript.exe (若是在命令行下,則為 Cscript.exe)。
推廣
WSH 誕生後,在 Windows 系列產品中很快得到了推廣。除 Windows 98 外,微軟在 Internet Information Server 4.0、Windows Me、Windows 2000 Server,以及 Windows 2000 Professional 等產品中都嵌入了 WSH。早期的 Windows 95 也可單獨安裝相應版本的 WSH。
WSH的工作流程,實際上就是腳本檔案被解析並執行的過程。我們知道,腳本經常會被植入網頁,其中包括 HTML 頁面(客戶機端)和 ASP 頁面(伺服器端)。對於植入 HTML 頁面的腳本,其所需的解析引擎會由 IE 這樣的網頁瀏覽器載入;對於植入 ASP 頁面的腳本,其所需的解析引擎會由 IIS(Internet Information Services)提供。
而對於出現在 HTML 和 ASP 頁面之外的腳本(它們常以獨立的檔案形式存在),就需要經由 WSH 來處理了。在這裡要插一句“廢話”:WSH 的正常工作的前提,是你必須安裝了微軟3.0 或更高版本的 IE,因為 WSH 在工作時會調用 IE 中的 VBScript 和 JScript 解析引擎。
答案當然是肯定的。任何事物都有兩面性,WSH 也不例外。應該說,WSH 的優點在於它使我們可以充分利用腳本來實現計算機工作的自動化;但不可否認,也正是它的這一特點,使我們的系統又有了新的安全隱患。許多計算機病毒製造者正在熱衷於用腳本語言來編制病毒,並利用 WSH 的支持功能,讓這些隱藏著病毒的腳本在網路中廣為傳播。2000年曾名燥一時的 I Love You 便是一個典型代表。因此,大家對於來歷不明、尤其是郵件附屬檔案里的一些腳本檔案還是應該保持戒備。至於相應的防範措施,筆者在別的文章中已有論述,在此就不再囉嗦了。