Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

IIS 突然不支援 ASP 僅支援 HTML:HTTP 500 內部伺服器錯誤深度解析與修復

編輯:關於伺服器

經典故障:ASP 頁面全掛 HTTP 500,靜態 HTML 正常。事件檢視器記錄指向 IWAM_機器名 帳號密碼不同步導致 Out-of-process 應用程式池啟動失敗。

錯誤徵兆

  • IE 顯示「HTTP 500 - 內部伺服器錯誤」或「Server Application Error」。
  • 安全性日誌:Event ID 529/681 登入失敗,帳號 IWAM_MYSERVER,錯誤碼 3221225578 (密碼錯誤)。
  • 系統日誌:Event ID 10004 DCOM 無法以 IWAM_MYSERVER 啟動 {3D14228D-FBE1-11D0-995D-00C04FD919C1} (IIS Out-of-process pooled applications);Event ID 36 W3SVC 無法載入應用程式 /LM/W3SVC/1/ROOT。

根因

IWAM_機器名 為 IIS 5.0 安裝時自動建立的內建帳號,供 Out-of-process 應用程式啟動使用。其密碼儲存於三處:Active Directory、IIS Metabase、COM+ 應用程式。系統負責同步,但偶發同步失敗導致三處密碼不一致,COM+ 拒絕啟動應用程式池,引發 HTTP 500。

修復三步驟 (需管理員權限)

1. 重設 AD 中 IWAM 密碼

  1. 開啟「Active Directory 使用者與電腦」。
  2. 找到 IWAM_MYSERVER → 右鍵「重設密碼」→ 設定已知密碼 (如 aboutnt2001)。

2. 同步 IIS Metabase 密碼

使用 adsutil.vbs (位於 C:\Inetpub\Adminscripts):

cscript adsutil.vbs set w3svc/wamuserpass "aboutnt2001"

成功會顯示 wamuserpass : (STRING) "aboutnt2001"。

3. 同步 COM+ 應用程式密碼 (兩種擇一)

法 A:元件服務 MMC

  1. mmc → 新增/移除管理單元 → 加入「元件服務」。
  2. 展開至「COM+ 應用程式」→「Out-of-process pooled applications」→ 右鍵「屬性」→「識別」索引標籤。
  3. 「這個使用者」輸入 IWAM_MYSERVER 與新密碼 aboutnt2001 → 確定。
  4. 若有其他 Web 應用程式保護設為「高 (隔離)」,同步對應的 COM+ 應用程式。

法 B:synciwam.vbs 腳本 (推薦,更完整)

cscript C:\Inetpub\Adminscripts\synciwam.vbs -v

腳本會從 Metabase 讀取密碼,逐一同步所有 Out-of-process 應用程式。前提:步驟 2 已完成,Metabase 密碼正確。

臨時替代方案

若上述修復失敗,可將網站/虛擬目錄「應用程式保護」改為「低 (IIS 進程)」,繞過 COM+ 啟動機制。但安全性較低,建議最終重裝 IIS 徹底解決 (先解除安裝 → 打 SP3/最新修補程式 → 重新安裝)。

Copyright © Windows教程網 All Rights Reserved