完美解決同步iwam賬號(hào)在active directory、iis metabase數(shù)據(jù)庫(kù)和com+應(yīng)用程序中的密碼
完美解決同步iwam賬號(hào)在active directory、iis metabase數(shù)據(jù)庫(kù)和com+應(yīng)用程序中的密碼。---根據(jù)個(gè)人實(shí)站經(jīng)驗(yàn)發(fā)布,永久保存!
PS:沒(méi)有十分把握,請(qǐng)不要修改,否則所有ASP網(wǎng)站將無(wú)法訪問(wèn)!
癥狀:
我的2000 ADV SERVER 系統(tǒng)日志中經(jīng)常出現(xiàn)以下三個(gè)錯(cuò)誤:
1.事件類型: 錯(cuò)誤
事件來(lái)源: Service Control Manager
事件種類: 無(wú)
事件 ID: 7031
日期: 2006-6-14
事件: 20:12:20
用戶: N/A
計(jì)算機(jī): 555-312A83E038A
描述:
IIS Admin Service 服務(wù)意外地終止,這種情況已經(jīng)出現(xiàn)了 1 次。以下的修正操作將在 0 毫秒內(nèi)運(yùn)行: 沒(méi)有操作。
2.事件類型: 警告
事件來(lái)源: W3SVC
事件種類: 無(wú)
事件 ID: 37
日期: 2006-6-15
事件: 8:08:43
用戶: N/A
計(jì)算機(jī): 555-312A83E038A
描述:
進(jìn)程外應(yīng)用程序 '/LM/W3SVC/71/Root' 意外地終止。
若要獲取關(guān)于此消息的更多的信息,請(qǐng)?jiān)L問(wèn) Microsoft 聯(lián)機(jī)支持站點(diǎn):
http://www.microsoft.com/contentredirect.asp。
3、事件類型: 錯(cuò)誤
事件來(lái)源: DCOM
事件種類: 無(wú)
事件 ID: 10010
日期: 2006-6-17
事件: 16:54:13
用戶: 555-312A83E038A\Administrator
計(jì)算機(jī): 555-312A83E038A
描述:
服務(wù)器 {A9E69610-B80D-11D0-B9B9-00A0C922E750} 沒(méi)有在限定的時(shí)間內(nèi)用 DCOM 注冊(cè)。
可能導(dǎo)致的情況:
IIS停止工作
忍無(wú)可忍,決定動(dòng)手解決!
通過(guò)搜索相關(guān)資料了解到產(chǎn)生的原因是:
原因分析
綜合分析上面的錯(cuò)誤表現(xiàn)我們可以看出,主要是由于iwam賬號(hào)(在我的計(jì)算機(jī)即是iwam_myserver賬號(hào))的密碼錯(cuò)誤造成了http 500內(nèi)部錯(cuò)誤.在詳細(xì)分析http500內(nèi)部錯(cuò)誤產(chǎn)生的原因之前,先對(duì)iwam賬號(hào)進(jìn)行一下簡(jiǎn)要的介紹:iwam賬號(hào)是安裝iis5時(shí)系統(tǒng)自動(dòng)建立的一個(gè)內(nèi)置賬號(hào),主要用于啟動(dòng)進(jìn)程之外的應(yīng)用程序的internet信息服務(wù)。iwam賬號(hào)的名字會(huì)根據(jù)每臺(tái)計(jì)算機(jī)netbios名字的不同而有所不同,通用的格式是iwam_machine,即由“iwam”前綴、連接線“_”加上計(jì)算機(jī)的netbios名字組成。我的計(jì)算機(jī)的netbios名字是myserver,因此我的計(jì)算機(jī)上iwam賬號(hào)的名字就是iwam_myserver,這一點(diǎn)與iis匿名賬號(hào)isur_machine的命名方式非常相似。
iwam賬號(hào)建立后被active directory、iis metabase數(shù)據(jù)庫(kù)和com+應(yīng)用程序三方共同使用,賬號(hào)密碼被三方分別保存,并由操作系統(tǒng)負(fù)責(zé)這三方保存的iwam密碼的同步工作。按常理說(shuō),由操作系統(tǒng)負(fù)責(zé)的工作我們大可放心,不必?fù)?dān)心出錯(cuò),但不知是bug還是其它什么原因,系統(tǒng)的對(duì)iwam賬號(hào)的密碼同步工作有時(shí)會(huì)失敗,使三方iwam賬號(hào)所用密碼不統(tǒng)一。當(dāng)iis或com+應(yīng)用程序使用錯(cuò)誤iwam的密碼登錄系統(tǒng),啟動(dòng)iis out-of-process pooled applications時(shí),系統(tǒng)會(huì)因密碼錯(cuò)誤而拒絕這一請(qǐng)求,導(dǎo)致iis out-of-process pooled applications啟動(dòng)失敗,也就是我們?cè)趇d10004錯(cuò)誤事件中看到的“不能運(yùn)行服務(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)部錯(cuò)誤就這樣產(chǎn)生了。
解決方案:
人工同步iwam賬號(hào)在active directory、iis metabase數(shù)據(jù)庫(kù)和com+應(yīng)用程序中的密碼。
具體操作分三步,均需要以管理員身份登錄計(jì)算機(jī)以提供足夠的操作權(quán)限(iwam賬號(hào)以iwam_myserver為例)。
為了讓大家能看的清楚,我只簡(jiǎn)短寫出操作的三個(gè)步驟
1.首先改IWAM-SERVER的密碼,這個(gè)都應(yīng)該知道了!
2.改組件---out-of-process pooled applications---屬性----安全標(biāo)識(shí)---密碼 和第一步的密碼一致
3.同步iis metabase中iwam_myserver賬號(hào)的密碼
可能因?yàn)檫@項(xiàng)改動(dòng)太敏感和重要,微軟并沒(méi)有為我們修改iis metabase中iwam_myserver賬號(hào)密碼提供一個(gè)顯式的用戶接口,只隨iis5提供了一個(gè)管理腳本adsutil.vbs,這個(gè)腳本位于c:\inetpub\adminscripts子目錄下(位置可能會(huì)因你安裝iis5時(shí)設(shè)置的不同而有所變動(dòng))。
adsutil.vbs腳本功能強(qiáng)大,參數(shù)非常多且用法復(fù)雜,這里只提供使用這個(gè)腳本修改iwam_myserver賬號(hào)密碼的方法:
輸入:c:\inetpub\adminscripts>
cscript adsutil.vbs set w3svc/wamuserpass "000000"
(此處“0”表示用戶自定義的密碼)
修改成功后,系統(tǒng)有如下提示:
wamuserpass: (string) "******"
至此全部改寫完畢,同步iwam賬號(hào)在active directory、iis metabase數(shù)據(jù)庫(kù)和com+應(yīng)用程序中的密碼,以上三個(gè)錯(cuò)誤再也不會(huì)出現(xiàn)了!