### IIS 错误 "Server Application Error" 详细解决方法
#### 一、问题概述
在使用Internet Information Services (IIS) 进行网站部署的过程中,可能会遇到“IIS 错误 Server Application Error”。该错误通常表现为一个HTTP 500状态代码,并提示服务器在加载应用时遇到错误。此错误可能由多种因素导致,例如权限问题、配置错误等。
#### 二、错误详情及含义
当出现“Server Application Error”时,具体的错误消息为:“The server has encountered an error while loading an application during the processing of your request.” 此错误表明在处理请求的过程中,服务器遇到了无法加载应用程序的问题。建议查看事件日志获取更多详细信息,并联系服务器管理员寻求帮助。
#### 三、解决方案
解决这一问题的方法主要分为两大类:一是调整用户账户密码以匹配IIS元数据库中的密码;二是修改IIS元数据库中的密码以匹配用户账户密码。
##### 方法1:调整用户账户密码以匹配IIS元数据库中的密码
1. **获取密码**:
- 打开“命令”窗口,定位到存放Adsutil.vbs文件的文件夹。
- 使用Adsutil.vbs工具从IIS元数据库中获取IWAM(IIS_WAMUser)和IUSR(IIS_IUSer)账户的密码。可通过以下命令获取:
- 获取IUSR账户密码:`cscript.exe adsutil.vbs get w3svc/AnonymousUserPass`
- 获取IWAM账户密码:`cscript.exe adsutil.vbs get w3svc/WAMUserPass`
2. **在Windows NT中更改密码**:
- 在开始菜单中,依次点击“程序” > “管理工具” > “域用户管理器”。
- 双击IUSR_计算机名和/或IWAM_计算机名用户,修改密码使其与步骤1中获取的IIS元数据库密码相匹配。
3. **在Windows 2000中更改密码**:
- 在开始菜单中,依次点击“程序” > “管理工具” > “计算机管理”。
- 展开“本地用户和组”节点下的“用户”,找到IUSR_计算机名和/或IWAM_计算机名账户,右键点击并选择“设置密码”,确保新密码与步骤1中获取的密码一致。
4. **验证解决方案**:
- 浏览先前返回错误信息的ASP页面,确认问题是否已经得到解决。
##### 方法2:修改IIS元数据库中的密码以匹配用户账户密码
1. **更改用户账户密码**:
- 跟随方法1中的步骤,在Windows NT或Windows 2000中更改IUSR和IWAM账户的密码。
2. **更新IIS元数据库中的密码**:
- 定位到包含Adsutil.vbs文件的文件夹。
- 使用Adsutil.vbs工具更新IWAM和IUSR账户的密码至步骤1中所设置的新密码。
- 设置IUSR账户密码:`cscript.exe adsutil.vbs set w3svc/AnonymousUserPass "new_password"`
- 设置IWAM账户密码:`cscript.exe adsutil.vbs set w3svc/WAMUserPass "new_password"`
3. **验证解决方案**:
- 再次访问之前出现问题的ASP页面,检查问题是否已被解决。
#### 四、扩展步骤:同步MTS或组件服务中的密码
如果使用的是Windows 2000/XP/2003操作系统和IIS 5.0版本,可以利用提供的Synciwam.vbs文件来更新所有IIS COM+应用程序包的启动标识。该脚本位于`<驱动器>:\Inetpub\AdminScripts`文件夹中。可以通过CScript或WScript运行Synciwam.vbs来同步密码。
#### 五、其他注意事项
- 如果在Windows 2000中希望查看明文密码而非星号显示,则需要修改Adsutil.vbs脚本文件。具体步骤包括:在记事本中打开Adsutil.vbs,找到“IsSecureProperty=True”并将其改为“IsSecureProperty=False”,保存更改后即可查看明文密码。
- 需要注意的是,这些解决方案适用于特定版本的操作系统和IIS。对于不同版本的IIS或操作系统,可能存在不同的解决方案。在进行任何更改前,建议先备份相关配置文件。
- 对于非专业人员来说,这些步骤可能较为复杂,建议在有经验的技术人员指导下操作。