Applies ToGeneral

摘要

當嘗試從 Web 伺服器的 CGI 指令碼內容中呼叫 Visual Basic 指令碼,指令碼可能無法正常執行。 最可能的原因是,指令碼引擎通常會執行安裝時,由 IIS 建立 sr_machine 的安全性內容中。不幸的是,Cscript.exe (指令碼引擎) 需要 sr_machine 使用者的特定登錄項目存在。 因為 HKEY_CURRENT_USER hive 不適用於 sr_machine,IIS 就會載入 HKEY_USERS\。預設 hive,在它的位置。不過,HKEY_USERS\。預設 hive 不包含必要的機碼和指令碼引擎的項目。在這些情況下,會發生 CGI 錯誤,不加任何其他的資訊。或者,如果批次模式啟動 Cscript.exe 檔案,則會出現錯誤指出無法載入指定的使用者的設定。這份文件會顯示如何設定 IIS 電腦,以允許執行的 CGI 指令碼為 Visual Basic 指令碼。

其他相關資訊

本文假設 Windows 指令檔主機已安裝 IIS 伺服器上;預設安裝選項的 NT 選項套件將會執行這項操作。若要啟用 VBScript 支援,請使用下列步驟:

  1. 開啟 [命令提示字元]。若要執行這項操作,請參考下列步驟:

    1. 按一下 [開始],再按一下 [執行]

    2. 輸入cmd,然後按一下[確定]

  2. 找出 [Inetpub\AdminScripts] 資料夾。(這個位置會因您的網際網路資訊伺服器安裝)。

  3. 輸入下列命令:

    cscript adsutil.vbs 設定 w3svc CreateCGIWithNewConsole"1"

    cscript adsutil.vbs 設定 w3svc CreateProcessAsUser"0"

  4. 設定對應至位於 %SYSTEMROOT%\System32 目錄 Cscript.exe.vbs 副檔名。透過Microsoft 管理主控台執行這項操作。具體來說,IIS4 的組態步驟如下所示:

    1. 執行 IIS4管理主控台應用程式。

    2. 編輯您的網站 (中選取 [屬性與樹狀目錄顯示在網站上按一下滑鼠右鍵) 的屬性。

    3. 選取 [主目錄] 索引標籤。

    4. 在應用程式設定] 方塊中,選取 [組態]。

    5. 在 [應用程式對應] 索引標籤選取 [新增]。

    6. 可執行檔會是下列 WinNT 4.0 電腦 (,請務必先使用 WinNT 安裝上的正確路徑 Cscript.exe) 上:

      C:\WINNT\system32\CSCRIPT.EXE.exe %s %s

    輸入.vbs副檔名。

    1. 請確定已選取 [指令碼引擎,並檢查檔案存在] 核取方塊。

    2. 儲存檔案,再按一下[確定]、套用、 [確定]及[確定] 。

  5. 使用登錄編輯程式,建立下列機碼和項目:

    HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script HostHKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\Settings

    請確認每個人都有這些兩個機碼的 「 讀取 」 權限。現在,請建立下列的項目之下:

    HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\SettingsBatchMode: REG_DWORD: 0DisplayLogo: REG_DWORD: 0Timeout: REG_DWORD: 0
  6. 現在將.vbs 指令碼檔案複製到具有執行/指令碼的權限的伺服器上的虛擬目錄中。預設的 /scripts 目錄會具有必要的權限。

您應該能夠測試是否設定的運作方式,或不是藉由建立下列的指令碼:

Option ExplicitWScript.Echo "Content-Type: text/html"WScript.EchoWScript.Echo "If you see this, it worked."

儲存在 /scripts 目錄中的上述指令碼,為 Test.vbs。現在您可以叫用指令碼的任何瀏覽器中使用下列 URL:

http://server/scripts/test.vbs.

附註: 類似的限制適用於所有情況下,從本機系統或模擬使用者的本機系統的安全性內容啟動 Cscript.exe 指令碼的位置。登錄上述的變更應該可以補救這些情況。

參考

Microsoft 網際網路資訊伺服器線上文件。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。