IIS5 中 IUSR_|IWAM_ 用户设置问题
						
				
		
		
				
						
						
				 
		
				
						    最近在使用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
						
				
				
				
		
		
				*****************************************************************************************************