HTTP 500 错误-没有在限定的时间内用 DCOM 注册

转自: http://blog.yesky.com/Blog/simao/archive/2005/01/13/64411.html

    这几天公司的本本上的IIS出问题了,总是打不开Asp页面,而Html页面却能正常显示~重装了IIS也不管用,无奈之下,在网上搜索解决的办法,终于找到了,照上上面的方法总算把问题解决了:)

一、发生缘由:

由用户方面报告故障,说是该站点上所有的 ASP 页面均不能访问。

二、初步处理:

1
、由于以前遇到类似情况,一般是重新启动计算机即可,但此次启动无效;
2
、由于屏幕显示日志文件已满,而且以前也出现过由于日志文件已满而导致 IIS 部分非正常运行,故考虑用 Admin 密码进入系统,清空日志文件的方法来解决该问题;
3
、出现异常,系统管理员密码不正确,怀疑可能有两点:
   (1)
、由于时间过长, Admin 密码忘记;
   (2)
、由于黑软后门等恶意程序导致 Admin 密码被修改;
4
、处理解决办法如下:
  
由于该系统仍采用 FAT32 分区,故用 98 启动盘启动计算机,找到 SAM 文件,进行删除,然后进入系统进行清空日志文件操作;

进行上述操作后,发现该 WEB 站点上的静态页面有效,而 ASP 仍然是错误,错误显示如下:
  
网页无法显示
  
您要访问的网页存在问题,因此无法显示。
  
请尝试下列操作:

  
打开 http://www.******.com 主页,寻找指向所需信息的链接。
  
单击刷新按钮,或者以后重试。

   http 500 -
内部服务器错误
   internet
信息服务

  
技术信息(支持个人)

  
详细信息:
   microsoft
支持

三、进一步分析:

  
无法判断故障原因,搜索网上相关内容,找到一篇关于 IIS 下不支持 ASP 的解决方案文章;
  
经研究分析,判断故障现象基本类似,原因分析为:主要是由于 IWAM 帐号 IWAM_Myserver 的密码错误造成了 HTTP 500 内部错误。
  
相应的解决办法为:统一 active directory IIS metabase 数据库和 COM+ 应用程序中的密码。相应操作该文章上有详细介绍。

  
查看日志文件,与文章上所描述的现象并不完全一致,本计算机并未有域的设置。
系统日志具体描述如下:

2003-8-23 17:42:59 DCOM
错误 10010 NT AUTHORITY/SYSTEM Myserver 服务器

{3D14228D-FBE1-11D0-995D-00C04FD919C1}
没有在限定的时间内用 DCOM 注册。
 
2003-8-23 17:42:59 W3SVC
警告 36 N/A Myserver 服务器未能转入应用程序

'/LM/W3SVC/1/Root'
。错误是 ' 服务器运行失败
'

若要获取关于此消息的更多的信息,请访问 Microsoft 联机支持站点 : http://www.microsoft.com/contentredirect.asp

应用程序日志具体描述如下:

2003-8-23 17:55:28 COM+
错误 管理 4205 N/A Myserver 由于在下列系统 API 错误, COM+ 服务无

法初始化。它通常是由本地计算机的系统资源存储问题引起的。
CryptAcquireContext
进程名称 : dllhost.exe
该错误的严重性已导致进程终止。
错误代码 = 0x80090017 : 提供程序类型未被定义。
COM+
服务内部信息 :
文件 : ./security.cpp : 617

而并未有文章上所描述的 用户名未知或密码错误 之类的信息日志;
但基本判断也属于该类型故障。
按照文章上所写操作一步一步执行,但发现并未奏效,不知问题出在何处。
按照最后提示:把 IIS 中的 应用程序保护 设置为 ,再重置 IIS ,新的问题又出现了,站点上的某些 ASP 能够显示,但某些 ASP 页面又不

能显示,而 ASP 聊天室的页面能打开,但显示为 打开数据库失败或错误
但若把 IIS 中的 应用程序保护 设置为 ,则任何 ASP 页面都无法打开;
无语,实在不行,采取文章上所述最后一个办法:重装 IIS ,步骤如下:先卸载,再打 SP3 (我打的是 SP4 ),再重装。
重新配置启动 IIS ,发觉故障现象依旧如故。

经高人指点,问题根源并非如此,经仔细询问情况,发现曾经删除过 SAM (这一现象前面一直没能引起注意) SAM 文件是保存用户密码的数据库

文件,删除后,所有的用户信息就会丢失,而相应的组信息也会随之丢失,虽然重新登录过系统,系统已经重新建立了 SAM 文件,也重新安装了

IIS
IWAM 帐号也已经重新建立,但是,原用户组中的特殊信息却没有被恢复。从这里着手。检查 开始 ”->“ 设置 ”->“ 控制面板 ”->“ 管理

工具 ”->“ 组件服务 中, 控制台根目录 ”->“ 组件服务 ”->“ 计算机 ”->“ 我的电脑 ”->“COM+ 应用程序 中,有一个 IIS

Out-Of-Process Pooled

Applications
该应用程序的 ID 号即为 {3D14228D-FBE1-11D0-995D-00C04FD919C1} ,很多系统报错找不到应用程序 {3D14228D-FBE1-11D0-995D-00

C04FD919C1}
之类的错误,就是因为该应用程序未能启动,打开该应用程序的属性,检查标识却为 IWAM 用户,右键启动,报错。改为管理员后,

可正常启动。把 IWAM 加入本地管理员组中,也可正常启动。确定是因为 IWAM 用户无权访问该应用程序所致。

提出具体解决办法如下:
1
、修改 IWAM_Myserver 帐号密码,在 开始 ”->“ 设置 ”->“ 控制面板 ”->“ 管理工具 ”->“ 计算机管理 中, 系统工具 ”->“ 本地用户和

”->“ 用户 里面,一个 IWAM_Myserver Myserver 为本地计算机名)的帐号内,右键更改密码,更改为一个自定义的密码即可,我们这里假

设为 “000000”
2
、修改 IIS 内部 IWAM_Myserver 帐号密码,在 c:/inetpub/adminscripts/ 目录下( IIS 安装默认目录),输入: c:/inetpub/adminscripts>

cscript adsutil.vbs set w3svc/wamuserpass "000000" 
(此处 “0” 表示用户自定义的密码)
修改成功后,系统有如下提示:
wamuserpass:                        (string) "******"
3
、同步 com+ 应用程序所用的 IWAM_Myserver 的密码,原技术文章上所叙述的办法有两种,我这里采用的为第二种,即 使用 IWAM 帐号同步脚本 s

ynciwam.vbs”
也就是在 c:/inetpub/adminscripts 目录下(默认目录)输入:
c:/inetpub/adminscripts> csript synciwam.vbs -v
前面都很顺利,但在 开始 ”->“ 设置 ”->“ 控制面板 ”->“ 管理工具 ”->“ 组件服务 中, 控制台根目录 ”->“ 组件服务 ”->“ 计算机 ”-

>“
我的电脑 ”->“COM+ 应用程序 中,右键启动 IIS Out-Of-Process Pooled Applications ,发现仍然报错,没办法重启 IIS ,发现问题现象

依旧如故,检查上面第三个步骤,输入 csript synciwam.vbs -v 命令后,返回的脚本执行情况其中最后一段有一个 Error 的提示。一段英文,具

体文字描述未能保存下来,意思理解为: IIS 的原数据库拒绝访问。
4
、万般无奈,删除 IIS 的组件包,重新建立之,仍然无效。

至此又出现问题了。

查看应用程序日志和系统日志,发现错误提示事件 ID 号依旧为: 10010 36 4205
上述的三个步骤中,前面两步应该都没有问题,最后一步好象有点问题。
根据事件 ID 号,查找相关资料,找出解决办法如下:
开始 ”->“ 设置 ”->“ 控制面板 ”->“ 管理工具 ”->“ 计算机管理 中, 系统工具 ”->“ 本地用户和组 ”->“ 用户 里面,确认 IWAM_My

server
用户只在 GUEST 组内,再在 本地用户和组 ”->“ 里面,右键点击 Users 组属性,添加进 NT AUTHORITY/Authenticated Users NT

AUTHORITY/Interactive
两个用户成员,确定。

重复第三个步骤,即在 IIS 安装默认目录下输入: c:/inetpub/adminscripts> csript synciwam.vbs -v
根据返回的脚本执行情况进行查看,最后那一段的 Error 已经没有了,将 COM+ 程序的用户改回为 IWAM 用户,重新启动 IIS Out-Of-Process

Pooled Applications
应用程序,没有再报错了,再重启 IIS ,检查所有 WEB 站点服务,故障现象解除 !

也就是说到了这一步 IIS 下面的 ASP 程序才正式恢复重新启动。
至此,故障现象全部排除 !

通过此次故障的排查,得出几点需要注意的:
1
、事件日志的空间设置稍微放大一些,默认才 512K ,根据硬盘空间,适当放大一些,避免出现日志文件已满的情况;
2
、不要随便轻易清空事件日志中的事件记录,很多故障现象需要从这个里面下手找原因;
3
、所有返回的系统提示信息一定要注意仔细查看;
4
IIS 中的应用程序保护应为中或高,如为低,则所有 ASP 页面均以本地系统权限运行,安全性存在问题。
5
COM+ 程序的用户权限和用户启动权限很重要,应注意检查。
6
、系统默认组有时有重要作用,不能轻易删除或修改。
7
、系统重要文件(如 SAM )不可轻易删除,应尽可能采取妥善的解决方法。如使用外部程序修改注册表或 SAM 表信息以获得管理员权限。而不要删除该文件。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
`Windows.Gaming.GameBar.PresenceServer.Internal.PresenceWriter` 是一个特定于 Windows 游戏栏(Game Bar)的内部组件,它负责游戏状态和活动的实时更新。当它没有在预设的超时时间内成功向 DCOM(分布式组件对象模型)注册,这通常意味着以下几个可能的情况: 1. **权限问题**:可能存在权限不足,可能是由于账户权限限制,或者服务运行账户没有足够的访问 DCOM 注册的能力。 2. **系统资源不足**:如果系统资源(如内存或处理器)紧张,可能导致注册过程延迟或失败。 3. **软件冲突**:其他应用程序或服务可能在使用相同的端口或注册名称,导致冲突。 4. **代码错误**:存在代码缺陷,可能是 PresenceWriter 类的实现问题,或者是依赖库的问题,需要检查是否存在异常处理和恢复机制。 5. **注册表配置错误**:Game Bar 的相关设置可能未正确配置,影响到与 DCOM 的交互。 为了解决这个问题,你可以尝试以下步骤: - 检查 Windows 系统日志,寻找有关此错误的详细信息。 - 使用系统管理工具(如任务管理器)查看 `Windows.Gaming.GameBar` 服务的运行状态和资源占用情况。 - 确保所有相关的安全和防火墙设置允许 Game Bar 与 DCOM 通信。 - 如果是软件冲突,尝试暂时禁用可能引起冲突的应用。 - 如果怀疑是代码问题,检查官方文档或社区论坛看是否有人遇到类似问题并找到了解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值