IIS5 中 IUSR_|IWAM_ 用戶設(shè)置問題
?
??? 最近在使用IIS的時(shí)候,突然發(fā)現(xiàn)之間什么網(wǎng)站都無法打開了,所有網(wǎng)頁在本機(jī)通過IIS訪問時(shí),都顯示"HTTP 500 - Internal server error",開了所有的權(quán)限還是不行,最后發(fā)現(xiàn)是匿名用戶訪問設(shè)置上出了問題。
?
??? 具體的邏輯是這樣的:IIS如果需要對匿名用戶開放瀏覽權(quán)限,必須要打開IWAM_hostname這個(gè)用戶。這個(gè)用戶是“啟動(dòng) IIS 進(jìn)程帳戶”,是用于啟動(dòng)進(jìn)程外應(yīng)用程序的 Internet 信息服務(wù)的內(nèi)置帳戶,所以要保證兩點(diǎn):第一、必須保證這個(gè)用戶被啟用;第二、必須保證這個(gè)用戶的密碼與IIS數(shù)據(jù)庫中存儲的密碼一致。
?
??? 啟用用戶還是比較簡單的,但是保持密碼一致的問題就比較復(fù)雜一點(diǎn),在網(wǎng)上查了一下資料,方法如下:
?
?
IUSR_和IWAM_計(jì)算機(jī)名帳戶的用戶名和密碼
?
??? IUSR_ 計(jì)算機(jī)名 和 IWAM_ 計(jì)算機(jī)名 帳戶的用戶名和密碼存儲于以下三個(gè)位置:
?
???
1、Internet Information Server (IIS) 配置數(shù)據(jù)庫
??? 2、
域用戶管理器 (Windows NT) 或本地用戶和組 (Windows 2000)
??? 3、
Microsoft Transaction Server (Windows NT) 或組件服務(wù) (Windows 2000)
?
??? 如果這三個(gè)位置的用戶名和/密碼不同步,將出現(xiàn)下述問題:當(dāng)您瀏覽現(xiàn)有的 Active Server Pages (ASP) 頁時(shí),瀏覽器可能返回"HTTP 500 - Internal server error"或"Server Application Error"的錯(cuò)誤信息。
?
??? 若要解決此問題,您必須確保上述三個(gè)位置的 IUSR 和 IWAM 帳戶密碼是同步的。同步方式有兩種:在用戶管理器 (Windows NT) 或用戶和組 (Windows 2000) 中設(shè)置 IWAM 和 IUSR 帳戶的密碼,在 IIS 配置數(shù)據(jù)庫中更改密碼,由此而使用相同的密碼。或者,在 IIS 配置數(shù)據(jù)庫中設(shè)置密碼,在用戶管理器 (Windows NT) 或用戶和組 (Windows 2000) 中更改密碼。
?
???
方法 1:在用戶管理器或用戶和組中更改密碼,使它們與 IIS 配置數(shù)據(jù)庫密碼一致
?
??? 1.在"命令"窗口中,找到 Adsutil.vbs 文件所在的文件夾。使用 Adsutil.vbs 工具從 IIS 配置數(shù)據(jù)庫獲得 IWAM 和 IUSR 帳戶的密碼。
???
2.若要在 Windows NT 中更改 IUSR 和/或 IWAM 密碼,請按照下列步驟操作:
???????
a.在開始菜單上,依次指向程序-管理工具,然后單擊域用戶管理器。在"域用戶管理器"中,可以更改所有 Windows NT 用戶帳戶和組的帳戶信息。
???????
b.雙擊 IUSR_ 計(jì)算機(jī)名 和/或 IWAM_ 計(jì)算機(jī)名 用戶,然后修改密碼,使它們與第 1 步獲得的 IIS 配置數(shù)據(jù)庫密碼一致。
???????
若要在 Windows 2000 中更改 IUSR 和/或 IWAM 密碼,請按照下列步驟操作:
??????? c.在開始菜單上,依次指向程序、管理工具,然后單擊計(jì)算機(jī)管理。
???????
d.在系統(tǒng)工具節(jié)點(diǎn)下面,單擊展開"本地用戶和組"和"用戶"節(jié)點(diǎn)。在"用戶"節(jié)點(diǎn)中,可以更改所有 Windows 2000 用戶帳戶和組的帳戶信息。
???????
e.右鍵單擊 IUSR_ 計(jì)算機(jī)名和/或 IWAM_ 計(jì)算機(jī)名帳戶,然后單擊設(shè)置密碼。
???????
f.修改密碼,使它們與第 1 步獲得的 IIS 配置數(shù)據(jù)庫密碼一致。
???
3.瀏覽返回錯(cuò)誤信息的 ASP 頁,檢查問題是否已解決。
?
???
方法 2:更改 IIS 配置數(shù)據(jù)庫密碼,使它與 IUSR 和/或 IWAM 密碼一致
?
??? 1.若要在 Windows NT 中更改 IUSR 和/或 IWAM 密碼,請按照下列步驟操作:
???????
a.在開始菜單上,依次指向程序、管理工具,然后單擊域用戶管理器。在"域用戶管理器"中,可以更改所有 Windows NT 用戶帳戶和組的帳戶信息。
???????
b.雙擊 IUSR_ 計(jì)算機(jī)名 和/或 IWAM_ 計(jì)算機(jī)名 帳戶,然后鍵入新密碼。
???????
若要在 Windows 2000 中更改 IUSR 和/或 IWAM 密碼,請按照下列步驟操作:
???????
c.在開始菜單上,依次指向程序、管理工具,然后單擊計(jì)算機(jī)管理。
???????
d.在系統(tǒng)工具節(jié)點(diǎn)下面,單擊展開"本地用戶和組"和"用戶"節(jié)點(diǎn)。在"用戶"節(jié)點(diǎn)中,可以更改所有 Windows 2000 用戶帳戶和組的帳戶信息。
???????
e.右鍵單擊 IUSR_ 計(jì)算機(jī)名和/或 IWAM_ 計(jì)算機(jī)名 帳戶,然后單擊設(shè)置密碼。鍵入新密碼。
???
2.在"命令"窗口中,找到 Adsutil.vbs 文件所在的文件夾。使用 Adsutil.vbs 實(shí)用工具為 IIS 配置數(shù)據(jù)庫中的 IWAM 和 IUSR 帳戶設(shè)置密碼。
???
3.瀏覽返回錯(cuò)誤信息的 ASP 頁,檢查問題是否已解決。
?
如何使用 Adsutil.vbs
?
??? IIS 提供了名為 Adsutil.vbs 的腳本文件,用于獲取或設(shè)置 IIS 配置數(shù)據(jù)庫中的 IUSR 和 IWAM 帳戶密碼。
??? 在 Windows NT 4.0 中,Adsutil.vbs 通常位于 <驅(qū)動(dòng)器>\WINNT\System32\Inetsrv\Adminsamples 文件夾。
??? 在 Windows 2000,Adsutil.vbs 位于 <驅(qū)動(dòng)器>\Inetpub\Adminscripts 文件夾。
?
??? 下表列出 Adsutil.vbs 實(shí)用工具各種功能的語法:
?
??? 功能?????????????? 語法
??? ----------------- -----------------------------------------------
??? 獲取 IUSR 帳戶密碼? cscript.exe adsutil.vbs get w3svc/anonymoususerpass
??? 獲取 IWAM 帳戶密碼? cscript.exe adsutil.vbs get w3svc/wamuserpass
??? 設(shè)置 IUSR 帳戶密碼? cscript.exe adsutil.vbs set w3svc/anonymoususerpass "password"
??? 設(shè)置 IWAM 帳戶密碼? cscript.exe adsutil.vbs set w3svc/wamuserpass "password"
?
??? 備注:在 Windows NT 4.0 中嘗試獲取密碼時(shí),密碼顯示為明文;但在 Windows 2000 中,密碼顯示為星號。若要在 Windows 2000 中也讓密碼顯示為明文,必須修改 Adsutil.vbs,使它顯示明碼。為此,請按照下列步驟操作:
?
??? 1.在記事本中打開 Adsutil.vbs。
??? 2.在"編輯"菜單上,單擊查找,鍵入 IsSecureProperty = True,然后單擊查找下一個(gè)。
??? 3.將"IsSecureProperty = True"更改為"IsSecureProperty = False"。
??? 4.保存對 Adsutil.vbs 所做的更改,然后關(guān)閉記事本。
?
*****************************************************************************************************
?
cscript 語法:
?
C:\Inetpub\AdminScripts>cscript
Microsoft (R) Windows Script Host Version 5.6
版權(quán)所有(C) Microsoft Corporation 1996-2001。保留所有權(quán)利。
?
用法:CScript scriptname.extension [option...] [arguments...]
?
選項(xiàng):
//B???????? 批模式:不顯示腳本錯(cuò)誤及提示信息
//D???????? 啟用 Active Debugging
//E:engine 使用執(zhí)行腳本的引擎
//H:CScript 將默認(rèn)的腳本宿主改為 CScript.exe
//H:WScript 將默認(rèn)的腳本宿主改為 WScript.exe (默認(rèn))
//I???????? 交互模式(默認(rèn),與 //B 相對)
//Job:xxxx 執(zhí)行一個(gè) WSF 工作
//Logo????? 顯示徽標(biāo)(默認(rèn))
//Nologo??? 不顯示徽標(biāo):執(zhí)行時(shí)不顯示標(biāo)志
//S???????? 為該用戶保存當(dāng)前命令行選項(xiàng)
//T:nn????? 超時(shí)設(shè)定秒:允許腳本運(yùn)行的最長時(shí)間
//X???????? 在調(diào)試器中執(zhí)行腳本
//U???????? 用 Unicode 表示來自控制臺的重定向 I/O
?
另:同步COM+應(yīng)用程序所用的IWAM_MYSERVER密碼,在CMD中:c:\inetput\adminscripts>cscript synciwam.vbs -v
*****************************************************************************************************
?