远程调用IIS触发DCOM事件ID10028异常求助
解决远程使用Microsoft.Web.Administration时触发DCOM事件ID 10028的问题
原因分析与排查修复步骤
1. 检查DCOM协议配置
- 运行
dcomcnfg打开组件服务,依次展开组件服务 > 计算机 > 我的电脑,右键点击「属性」切换到「默认协议」标签 - 确保列表中至少启用TCP/IP协议,移除未使用或无效的协议(如NetBIOS、IPX/SPX等)
- 确认本地与远程机器的DCOM协议集合一致,避免因协议不兼容导致通信失败
2. 验证IIS相关DCOM组件的权限
- 在组件服务中,找到IIS WAMREG Admin Service(对应w3wp.exe关联的DCOM组件),右键点击「属性」进入「安全」标签
- 检查「启动和激活权限」「访问权限」,确保执行远程调用的账户(本地程序所用账户)拥有对应的权限
- 若使用域账户,需确认该账户在远程机器的本地管理员组或相关权限组内
3. 排查网络与防火墙配置
- 确认远程机器Windows防火墙允许DCOM通信:域环境下默认允许,工作组环境可通过命令
netsh advfirewall firewall add rule name="DCOM" dir=in action=allow protocol=TCP localport=135快速开放135端口,同时确保DCOM动态端口范围可正常访问 - 检查本地与远程机器的IPv4/IPv6状态:若某一方禁用了IPv6,但DCOM配置中仍启用IPv6协议,会导致w3wp.exe尝试用无效协议通信触发错误,需同步禁用未使用的网络协议
4. 调整应用程序池标识权限
- 事件中PID对应的w3wp.exe属于特定应用程序池,查看该应用程序池的运行标识(如ApplicationPoolIdentity)
- 给该标识授予远程DCOM访问权限,或临时更换为具有足够权限的域/本地管理员账户测试,确认是否因权限不足导致协议调用失败
5. 清理注册表中无效的RPC协议
- 打开
regedit,导航到路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Protocols - 删除无用的协议项(如
ncacn_ipx、ncacn_nb_nb等),仅保留ncacn_ip_tcp和ncacn_http - 修改完成后执行
iisreset重启IIS服务,使配置生效
内容的提问来源于stack exchange,提问作者Ajitha
相关产品推荐
相关产品推荐

