IWAM帳號 HTTP500內部錯誤

轉自CSDN:             在詳細分析HTTP500內部錯誤產生的緣由以前,先對IWAM帳號進行一下簡要的介紹:IWAM帳號是安裝IIS5時系統自動創建的一個內置帳號,主要用於啓動進程以外的應用程序的I   nternet信息服務。IWAM帳號的名字會根據每臺計算機NETBIOS名字的不一樣而有所不一樣,通用的格式是IWAM_MACHINE,即由 「IWAM」前綴、鏈接線「_   」加上計算機的NETBIOS名字組成。個人計算機的NETBIOS名字是MYSERVER,所以個人計算機上IWAM帳號的名字就是 IWAM_MYSERVER,這一點與I   IS匿名帳號ISUR_MACHINE的命名方式很是類似。               IWAM帳號創建後被Active   Directory、IIS   metabase數據庫和COM+應用程序三方共同使用,帳號密碼被三方分別保存,並由操做系統負責這三方保存的IWAM密碼的同步工做。按常理說,由操做系統負責的工做咱們大可放心,沒必要擔憂出錯,但不知是B   UG仍是其它什麼緣由,系統的對IWAM帳號的密碼同步工做有時會失敗,使三方IWAM帳號所用密碼不統一。當IIS或COM+應用程序使用錯誤I   WAM的密碼登陸系統,啓動IIS   Out-Of-Process   Pooled   Applications時,系統會因密碼錯誤而拒絕這一請求,致使IIS   Out-Of-Process   Pooled   Applications啓動失敗,也就是咱們在ID10004錯誤事件中看到的「不能運行服務器{3D14228D-FBE1-11D0-995D- 00C04FD919C1}   」(這裏{3D14228D-FBE1-11D0-995D-00C04FD919C1}   是IIS   Out-Of-Process   Pooled   Applications的KEY),不能轉入IIS5應用程序,HTTP   500內部錯誤就這樣產生了。           知道了致使HTTP   500內部錯誤的緣由,解決起來就比較簡單了,那就是人工同步IWAM帳號在Active   Directory、IIS   metabase數據庫和COM+應用程序中的密碼。           具體操做分三步,均須要以管理員身份登陸計算機以提供足夠的操做權限(IWAM帳號以IWAM_MYSERVER爲例)。               (一)更改Active   Directory中IWAM_MYSERVER帳號的密碼           因IWAM帳號的密碼由系統控制,隨機產生,咱們並不知道是什麼,爲完成下面兩步的密碼同步工做,咱們必須將IWAM帳號的密碼設置爲一個咱們知道的值。           一、選擇「開始」->「程序」->「管理工具」->"Active   Directory用戶和計算機",啓動「Active   Directory用戶和計算機」管理單元。           二、單擊「user」,選中右面的「IWAM_MYSERVER」,右擊選擇「重設密碼(T)...」,在跳出的重設密碼對方框中給 IWAM_MYSERVER設置新的密碼,這兒咱們設置成「Aboutnt2001」(沒有引號的),肯定,等待密碼修改爲功。               (二)同步IIS   metabase中IWAM_MYSERVER帳號的密碼           可能由於這項改動太敏感和重要,微軟並無爲咱們修改IIS   metabase中IWAM_MYSERVER帳號密碼提供一個顯式的用戶接口,只隨IIS5提供了一個管理腳本adsutil.vbs,這個腳本位於 C:\inetpub\adm   inscripts子目錄下(位置可能會因你安裝IIS5時設置的不一樣而有所變更)。           adsutil.vbs腳本功能強大,參數很是多且用法複雜,這裏只提供使用這個腳本修改IWAM_MYSERVER帳號密碼的方法:           adsutil   SET   w3svc/WAMUserPass   Password           "Password"參數就是要設置的IWAM帳號的新的密碼。所以咱們將IIS   metabase中IWAM_MYSERVER帳號的密碼修改成「Aboutnt2001」的命令就是:           c:\Inetpub\AdminScripts>adsutil   SET   w3svc/WAMUserPass   "Aboutnt2001"           修改爲功後,系統會有以下提示:           WAMUserPass:   (String)   "Aboutnt2001"               (三)同步COM+應用程序所用的IWAM_MYSERVER的密碼           同步COM+應用程序所用的IWAM_MYSERVER的密碼,咱們有兩種方式能夠選擇:一種是使用組件服務MMC管理單元,另外一種是使用IWAM帳號同步腳本s   ynciwam.vbs。               一、使用組件服務MMC管理單元           (1)啓動組件服務管理單元:選擇「開始」->「運行」->「MMC」,啓動管理控制檯,打開「添加/刪除管理單元」對話框,將「組件服務」管理單元添加上。           (2)找到「組件服務」->「計算機」->「個人電腦」->「COM+應用程序」->「Out-Of-Process   Pooled   Applications」,右擊「Out-Of-Process   Pooled   Applications」->「屬性」。           (3)切換到「Out-Of-Process   Pooled   Applications」屬性對話框的「標誌」選項卡。「此應用程序在下列帳戶下運行」選擇中「此用戶」會被選中,用戶名是「IWAM_MYSERVE   R」。這些都是缺省的,沒必要改動。在下面的「密碼」和「確認密碼」文本框內輸入正確的密碼「Aboutnt2001」,肯定退出。           (4)系統若是提示「應用程序被一個以上的外部產品建立。你肯定要被這些產品支持嗎?」時肯定便可。           (5)若是咱們在IIS中將其它一些Web的「應用程序保護」設置爲「高(獨立的)」,那麼這個WEB所使用的COM+應用程序的IWAM帳號密碼也須要同步。重複(1   )-(4)步,同步其它相應Out   of   process   application的IWAM帳號密碼。               二、使用IWAM帳號同步腳本synciwam.vbs           實際上微軟已經發現IWAM帳號在密碼同步方面存在問題,所以在IIS5的管理腳本中單獨爲IWAM帳號密碼同步編寫了一個腳本synciwam.vbs   ,這個腳本位於C:\inetpub\adminscripts子目錄下(位置可能會因你安裝IIS5時設置的不一樣而有所變更)。           synciwam.vbs腳本用法比較簡單:           cscript   synciwam.vbs   [-v|-h]           「-v」參數表示詳細顯示腳本執行的整個過程(建議使用),「-h」參數用於顯示簡單的幫助信息。               咱們要同步IWAM_MYSERVER帳號在COM+應用程序中的密碼,只須要執行「cscript   synciwam.vbs   -v」便可,以下:           cscript   c:\inetpub\adminscripts\synciwam.vbs   -v           Microsoft   (R)   Windows   Script   Host   Version   5.6           版權全部(C)   Microsoft   Corporation   1996-2000。保留全部權利。               WamUserName:IWAM_MYSERVER           WamUserPass:Aboutnt2001           IIS   Applications   Defined:           Name,   AppIsolated,   Package   ID           w3svc,   0,   {3D14228C-FBE1-11d0-995D-00C04FD919C1}           Root,   2,           IISHelp,   2,           IISAdmin,   2,           IISSamples,   2,           MSADC,   2,           ROOT,   2,           IISAdmin,   2,           IISHelp,   2,           Root,   2,           Root,   2,               Out   of   process   applications   defined:           Count:   1           {3D14228D-FBE1-11d0-995D-00C04FD919C1}               Updating   Applications:           Name:   IIS   Out-Of-Process   Pooled   Applications   Key:   {3D14228D-FBE1-11D0-995D-00C04FD919C1}               從上面腳本的執行狀況能夠看出,使用synciwam.vbs腳本要比使用組件服務的方法更全面和快捷。它首先從IIS的metabase數據庫找到 IWA   M帳號"IWAM_MYSERVER"並取出對應的密碼「Aboutnt2001」,而後查找全部已定義的IIS   Applications和Out   of   process   applications,並逐一同步每個Out   of   process   applications應用程序的IWAM帳號密碼。           使用synciwam.vbs腳本時,要注意一個問題,那就是在你運行synciwam.vbs以前,必須保證IIS   metabase數據庫與Active   Directory中的IWAM密碼已經一致。由於synciwam.vbs腳本是從IIS   metabase數據庫而不是從Active   Directory取得IWAM帳號的密碼,若是IIS   metabase中的密碼不正確,那synciwam.vbs取得的密碼也會不正確,同步操做執行到「Updating   Applications」系統就會報80110414錯誤,即「找不到應用程序{3D14228D-FBE1-11D0-995D- 00C04FD919C1}」。           好了,到如今爲止,IWAM帳號在Active   Directory、IIS   metabase數據庫和COM+應用程序三處的密碼已經同步成功,你的ASP程序又能夠運行了!  
相關文章
相關標籤/搜索