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