[點晴永久免費OA]IIS 出了問題,問題表現(xiàn): COM+應(yīng)用程序錯誤 錯誤代碼8004E00F
當(dāng)前位置:點晴教程→點晴OA辦公管理信息系統(tǒng)
→『 安裝指引&開發(fā)建議 』
IIS 出了問題,問題表現(xiàn): COM+應(yīng)用程序錯誤 錯誤代碼8004E00F 下面是解決方案: 1、首先進(jìn)入組件服務(wù),查看組件服務(wù)/計算機(jī)/我的電腦/COM+應(yīng)用程序,結(jié)果報錯“COM+ 無法與 Microsoft 分布式事務(wù)協(xié)調(diào)程序交談”,無法查看里面的對象。 如果您的IIS 還不能用,就重裝 下面是本人在網(wǎng)絡(luò)上轉(zhuǎn)的文章 ,也許更詳細(xì)些。 ================================== IIS500錯誤,是因為微軟的一個BUG所造成的。下面是解決辦法: 主要是由于IWAM賬號(在我的計算機(jī)即是IWAM_MYSERVER賬號)的密碼錯誤造成了HTTP 500內(nèi)部錯誤。 在詳細(xì)分析HTTP500內(nèi)部錯誤產(chǎn)生的原因之前,先對IWAM賬號進(jìn)行一下簡要的介紹:IWAM賬號是安裝IIS5時系統(tǒng)自動建立的一個內(nèi)置賬號,主要用于啟動進(jìn)程之外的應(yīng)用程序的Internet信息服務(wù)。IWAM賬號的名字會根據(jù)每臺計算機(jī)NETBIOS名字的不同而有所不同,通用的格式是IWAM_MACHINE,即由“IWAM”前綴、連接線“_”加上計算機(jī)的NETBIOS名字組成。我的計算機(jī)的NETBIOS名字是MYSERVER,因此我的計算機(jī)上IWAM賬號的名字就是IWAM_MYSERVER,這一點與IIS匿名賬號ISUR_MACHINE的命名方式非常相似。 IWAM賬號建立后被Active Directory、IIS metabase數(shù)據(jù)庫和COM+應(yīng)用程序三方共同使用,賬號密碼被三方分別保存,并由操作系統(tǒng)負(fù)責(zé)這三方保存的IWAM密碼的同步工作。按常理說,由操作系統(tǒng)負(fù)責(zé)的工作我們大可放心,不必?fù)?dān)心出錯,但不知是BUG還是其它什么原因,系統(tǒng)的對IWAM賬號的密碼同步工作有時會失敗,使三方IWAM賬號所用密碼不統(tǒng)一。當(dāng)IIS或COM+應(yīng)用程序使用錯誤IWAM的密碼登錄系統(tǒng),啟動IIS Out-Of-Process Pooled Applications時,系統(tǒng)會因密碼錯誤而拒絕這一請求,導(dǎo)致IIS Out-Of-Process Pooled Applications啟動失敗,也就是我們在ID10004錯誤事件中看到的“不能運行服務(wù)器{3D14228D-FBE1-11D0-995D-00C04FD919C1} ”(這里{3D14228D-FBE1-11D0-995D-00C04FD919C1} 是IIS Out-Of-Process Pooled Applications的KEY),不能轉(zhuǎn)入IIS5應(yīng)用程序,HTTP 500內(nèi)部錯誤就這樣產(chǎn)生了。
手工同步賬號
具體操作分三步,均需要以管理員身份登錄計算機(jī)以提供足夠的操作權(quán)限(IWAM賬號以IWAM_MYSERVER為例)。
因IWAM賬號的密碼由系統(tǒng)控制,隨機(jī)產(chǎn)生,我們并不知道是什么,為完成下面兩步的密碼同步工作,我們必須將IWAM賬號的密碼設(shè)置為一個我們知道的值。 1、選擇“開始”->“程序”->“管理工具”->"Active Directory用戶和計算機(jī)",啟動“Active Directory用戶和計算機(jī)”管理單元。 2、單擊“user”,選中右面的“IWAM_MYSERVER”,右擊選擇“重設(shè)密碼(T)...”,在跳出的重設(shè)密碼對方框中給IWAM_MYSERVER設(shè)置新的密碼,這兒我們設(shè)置成“Aboutnt2001”(沒有引號的),確定,等待密碼修改成功。
可能因為這項改動太敏感和重要,微軟并沒有為我們修改IIS metabase中IWAM_MYSERVER賬號密碼提供一個顯式的用戶接口,只隨IIS5提供了一個管理腳本adsutil.vbs,這個腳本位于C:\\inetpub\\adminscripts子目錄下(位置可能會因你安裝IIS5時設(shè)置的不同而有所變動)。 adsutil.vbs腳本功能強(qiáng)大,參數(shù)非常多且用法復(fù)雜,這里只提供使用這個腳本修改IWAM_MYSERVER賬號密碼的方法: adsutil SET w3svc/WAMUserPass Password "Password"參數(shù)就是要設(shè)置的IWAM賬號的新的密碼。因此我們將IIS metabase中IWAM_MYSERVER賬號的密碼修改為“Aboutnt2001”的命令就是: c:\\Inetpub\\AdminScripts>adsutil SET w3svc/WAMUserPass "Aboutnt2001" 修改成功后,系統(tǒng)會有如下提示: WAMUserPass: (String) "Aboutnt2001"
同步COM+應(yīng)用程序所用的IWAM_MYSERVER的密碼,我們有兩種方式可以選擇:一種是使用組件服務(wù)MMC管理單元,另一種是使用IWAM賬號同步腳本synciwam.vbs。
(1)啟動組件服務(wù)管理單元:選擇“開始”->“運行”->“MMC”,啟動管理控制臺,打開“添加/刪除管理單元”對話框,將“組件服務(wù)”管理單元添加上。 (2)找到“組件服務(wù)”->“計算機(jī)”->“我的電腦”->“COM+應(yīng)用程序”->“Out-Of-Process Pooled Applications”,右擊“Out-Of-Process Pooled Applications”->“屬性”。 (3)切換到“Out-Of-Process Pooled Applications”屬性對話框的“標(biāo)志”選項卡。“此應(yīng)用程序在下列賬戶下運行”選擇中“此用戶”會被選中,用戶名是“IWAM_MYSERVER”。這些都是缺省的,不必改動。在下面的“密碼”和“確認(rèn)密碼”文本框內(nèi)輸入正確的密碼“Aboutnt2001”,確定退出。 (4)系統(tǒng)如果提示“應(yīng)用程序被一個以上的外部產(chǎn)品創(chuàng)建。你確定要被這些產(chǎn)品支持嗎?”時確定即可。 (5)如果我們在IIS中將其它一些Web的“應(yīng)用程序保護(hù)”設(shè)置為“高(獨立的)”,那么這個WEB所使用的COM+應(yīng)用程序的IWAM賬號密碼也需要同步。重復(fù)(1)-(4)步,同步其它相應(yīng)Out of process application的IWAM賬號密碼。
實際上微軟已經(jīng)發(fā)現(xiàn)IWAM賬號在密碼同步方面存在問題,因此在IIS5的管理腳本中單獨為IWAM賬號密碼同步編寫了一個腳本synciwam.vbs,這個腳本位于C:\\inetpub\\adminscripts子目錄下(位置可能會因你安裝IIS5時設(shè)置的不同而有所變動)。 synciwam.vbs腳本用法比較簡單: cscript synciwam.vbs [-v|-h] “-v”參數(shù)表示詳細(xì)顯示腳本執(zhí)行的整個過程(建議使用),“-h”參數(shù)用于顯示簡單的幫助信息。
cscript c:\\inetpub\\adminscripts\\synciwam.vbs -v Microsoft (R) Windows Script Host Version 5.6 版權(quán)所有(C) Microsoft Corporation 1996-2000。保留所有權(quán)利。
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,
Count: 1 {3D14228D-FBE1-11d0-995D-00C04FD919C1}
Name: IIS Out-Of-Process Pooled Applications Key: {3D14228D-FBE1-11D0-995D-00C04FD919C1}
使用synciwam.vbs腳本時,要注意一個問題,那就是在你運行synciwam.vbs之前,必須保證IIS metabase數(shù)據(jù)庫與Active Directory中的IWAM密碼已經(jīng)一致。因為synciwam.vbs腳本是從IIS metabase數(shù)據(jù)庫而不是從Active Directory取得IWAM賬號的密碼,如果IIS metabase中的密碼不正確,那synciwam.vbs取得的密碼也會不正確,同步操作執(zhí)行到“Updating Applications”系統(tǒng)就會報80110414錯誤,即“找不到應(yīng)用程序{3D14228D-FBE1-11D0-995D-00C04FD919C1}”。 批處理同步 可以用一些BAT來修復(fù)這類IE問題的. 把下面的語句復(fù)制出來,粘貼到文本文件中.然后把文本文件保存生擴(kuò)展名為.BAT的文件.例如:ie.bat.雙擊打開該BAT文件.一步步確定到最后.問題就能解決了. rem =====第七頻道批處理開始======== rundll32.exe /s advpack.dll /DelNodeRunDLL32 C:\\WINNT\\System32\\dacui.dll rem =====批處理結(jié)束========
前面都很順利,但在“開始”->“設(shè)置”->“控制面板”->“管理工具”->“組件服務(wù)”中,“控制臺根 目錄”->“組件服務(wù)”->“計算機(jī)”- >“我的電腦”->“COM+應(yīng)用程序”中,右鍵啟動IIS Out-Of-Process Pooled Applications,發(fā)現(xiàn)仍然 報錯,沒辦法重啟IIS,發(fā)現(xiàn)問題現(xiàn)象 依舊如故,檢查上面第三個步驟,輸入csript synciwam.vbs -v命令后,返回的腳本執(zhí)行情況其中最后一 段有一個Error的提示。一段英文,具 體文字描述未能保存下來,意思理解為:IIS的原數(shù)據(jù)庫拒絕訪問。 至此又出現(xiàn)問題了。 查看應(yīng)用程序日志和系統(tǒng)日志,發(fā)現(xiàn)錯誤提示事件ID號依舊為:10010、36、4205 和組”->“用戶”里面,確認(rèn)IWAM_My server用戶只在GUEST組內(nèi),再在“本地用戶和組”->“組”里面,右鍵點擊Users組屬性,添加進(jìn)NT AUTHORITY\\Authenticated Users和NT AUTHORITY\\Interactive兩個用戶成員,確定。 重復(fù)第三個步驟,即在IIS安裝默認(rèn)目錄下輸入:c:\\inetpub\\adminscripts> csript synciwam.vbs -v ,重新啟動IIS Out-Of-Process Pooled Applications應(yīng)用程序,沒有再報錯了,再重啟IIS,檢查所有WEB站點服務(wù),故障現(xiàn)象解除! 也就是說到了這一步IIS下面的ASP程序才正式恢復(fù)重新啟動。 因此,以下幾點需要注意的: ================================== 一、com+應(yīng)用程序錯誤 1、首先進(jìn)入組件服務(wù),查看組件服務(wù)/計算機(jī)/我的電腦/COM+應(yīng)用程序,結(jié)果報錯“COM+ 無法與 Microsoft 分布式事務(wù)協(xié)調(diào)程序交談”,無法查看里面的對象。 二、IIS 500內(nèi)部錯誤之解決辦法 IIS 500內(nèi)部錯誤之解決辦法(一.錯誤表現(xiàn)) 一.錯誤表現(xiàn) (一)IE中的表現(xiàn) 當(dāng)瀏覽以前能夠正常運行的asp頁面時會出現(xiàn)如下的錯誤: (1) --------------------------------------------- 請嘗試下列操作: 打開 主頁,尋找指向所需信息的鏈接。 HTTP 500 - 內(nèi)部服務(wù)器錯誤 -------------------------------------------------------------------------------- 技術(shù)信息(支持個人) 詳細(xì)信息: [注意,這兒只是500錯誤,不是500.xx等錯誤的,那些錯誤主要是asp編程問題,與iis沒有太大的關(guān)系,只有500錯誤是由iis自身造成的] (2) (二)安全日志記錄(2條)
注:IWAM_MYSERVER,啟動進(jìn)程之外的應(yīng)用程序的 Internet 信息服務(wù)的內(nèi)置帳號,安裝IIS時自動建立,其密碼由IIS控制. (三)系統(tǒng)日志中的記錄(2條) 事件類型: 警告 注:3D14228D-FBE1-11D0-995D-00C04FD919C1}實際是IIS Out-Of-Process Pooled Applications 的KEY.也就是代表IIS Out-Of-Process Pooled Applications. 出現(xiàn)IIS 500內(nèi)部錯誤的原因有多個,但最主要的原因是IWAM_MACHINE賬號在Active Directory(或SAM),IIS的metabase數(shù)據(jù)庫與COM+組件中的密碼不匹配不同步最成的.因此解決問題的關(guān)鍵在于使這三方的密碼同步起來. 操作如下: 系統(tǒng)會顯示: 提示密碼更新成功. 通常情況下IIS會自動與系統(tǒng)賬號等信息同步,但我發(fā)現(xiàn)我的機(jī)器上ISUR_MACHINE是同步的,但I(xiàn)WAM_MACHINE總是不同步,因此只好自行修改了. 3.同步COM+賬號密碼 -v參數(shù)是打開詳細(xì)模式,讓我們看到更新的過程,通常會如下顯示: Microsoft (R) Windows Script Host Version 5.6 WamUserNameIWAM_MYSERVER Out of process applications defined: Updating Applications: 密碼同步成功.如果不成功先看一下這個腳本取的IIS的密碼正確不正確,如果不正確請重復(fù)第二步同步IIS密碼。 該文章在 2010/8/18 9:02:06 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |