IIS中ApplicationPool无法创建新用户配置文件问题求助
问题背景
将IIS应用池标识设为ApplicationPoolIdentity时,WAS(Windows Process Activation Service)无法创建对应Windows用户配置文件,触发事件ID 1511和1500错误,导致应用池立即崩溃。设置loadUserProfile=false可临时恢复运行,但此前功能正常运行数月,重装IIS并清理历史用户后问题仍未解决。
排查与解决步骤
检查用户目录权限
定位到C:\Users目录,给IIS AppPool\你的应用池名称用户添加读取、写入、创建子文件夹权限,并确保权限继承到所有子目录。修复用户配置文件服务
打开services.msc,找到User Profile Service,确认其处于运行状态且启动类型为自动。同时检查它的依赖服务(Remote Procedure Call、DCOM Server Process Launcher)是否正常运行,若依赖未启动先启动对应依赖项。清理无效注册表项
打开regedit,导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList,查找带.bak后缀或对应应用池SID的无效注册表项(可通过whoami /user命令获取应用池用户SID),备份后删除这些残留项。重置应用池权限
以管理员身份打开命令提示符,替换你的应用池名称后运行以下命令,重置应用池用户的目录权限:icacls "C:\Users" /grant "IIS AppPool\你的应用池名称:(OI)(CI)(RW,WD)" /T检查组策略限制
打开gpedit.msc,进入计算机配置>管理模板>系统>用户配置文件,确认“删除用户配置文件超过指定天数”等策略未错误配置,避免系统自动清理应用池的临时配置文件。
事件日志对应错误
错误ID 1511:未找到本地用户配置文件,将使用临时用户配置文件登录。
错误ID 1500:无法登录,因为无法加载本地存储的用户配置文件。
以上错误的核心原因是WAS在创建ApplicationPoolIdentity对应的用户配置文件时,遇到目录权限不足、注册表项残留或服务依赖异常,导致配置文件加载失败触发应用池崩溃。
内容的提问来源于stack exchange,提问作者Me3nTaL

