这段时间一直被单位的一台Server2003所困扰……
该服务器用于单位几个网站对外的发布任务!有一天早上上班时,例行查看了各服务器的运行情况,当检查到该服务器时,竟然发现该服务器的85%的服务均无法启动!连我们的RPC都未能幸免于难……实在是
赶紧重启之……无效!
当然了,先要确保单位的网站正常访问先!于是采取了临时的解决方法:1.检查服务启动帐号,更换默认服务启动帐号 2.手动授于特定帐号对系统根目录的NTFS权限!终于,在手动重置大部分服务后,系统基本算是正常!网站在短时间内也可以重新被访问了!
显然,这不是长久之记,必须要解决相关的问题!郁闷的是,竟然服务器上的网络连接都看不到!想配置个IP都不行,只有临时用命令 netsh/第三方网卡配置修改工具勉强用用!
针对网络连接中网卡不见的问题,尝试如下方法:
1.查看了一下网络的驱动,一切正常!重新下载最新驱动,问题依旧!
2.手动启动 network connections服务,问题依旧
3.检查分布式COM配置参数设置是否正确。
dcomcnfg.exe,发现该服务无法启动!红色向下箭头!
通过分析日志发现,推断的问题应当是跟系统的Com+ system application服务有关,立即查看该服务,发现该服务为启动,但启动状态异常!
4.通过查官方文档、第三方文档,发现部分场景下有效的解决Com+ system application服务无法启动的问题,有如下方法:
A. 进入安全模式或者用PE进入,
B. 替换下面的dll文件
C:/WINDOWS/System32/clbcatq.dll
C:/WINDOWS/System32/comsnap.dll
C:/WINDOWS/System32/comuid.dll
C:/WINDOWS/System32/comsvcs.dll - 1.19Mb, File vers 2001.12.4414.258
C:/WINDOWS/System32/catsrv.dll - 224Kb, File vers 2001.12.4414.258
C:/WINDOWS/System32/catsrvut.dll - 613Kb, File vers 2001.12.4414.258
C:/WINDOWS/System32/clbcatex.dll - 107Kb, File vers 2001.12.4414.258
C:/WINDOWS/System32/catsrvps.dll - 83.5Kb, File vers 2001.12.4414.258
C:/WINDOWS/System32/stclient.dll - 53Kb, File vers 2001.12.4414.42
C:/WINDOWS/System32/comrepl.dll - 80.5Kb, File vers 2001.12.4414.42
C:/WINDOWS/System32/comaddin.dll - 25Kb, File vers 2001.12.4414.42
C:/WINDOWS/System32/colbact.dll - 61Kb, File vers 2001.12.4414.258
- 191Kb, File vers 2001.12.4414.258
C:/WINDOWS/System32/mtxdm.dll - 20Kb, File vers 2001.12.4414.42
C:/WINDOWS/System32/mtxex.dll - 4Kb, File vers 2001.12.4414.42
C:/WINDOWS/System32/mtxlegih.dll - 24.5Kb, File vers 2001.12.4414.42
C. 注册这些动态链接库
regsvr32 clbcatq.dll
regsvr32 comsnap.dll
regsvr32 comuid.dll
regsvr32 comsvcs.dll
regsvr32 catsrv.dll
regsvr32 catsrvut.dll
regsvr32 clbcatex.dll
regsvr32 catsrvps.dll
regsvr32 stclient.dll
regsvr32 comrepl.dll
regsvr32 comaddin.dll
regsvr32 colbact.dll
regsvr32 comadmin.dll
regsvr32 mtxdm.dll
regsvr32 mtxex.dll
regsvr32 mtxlegih.dll
重启计算机
D. registered
msxml.dll
msxml2.dll
msxml3.dll
msxml4.dll
重启计算机
E.
regsvr32 /s ole32.dll
and regsvr32 /s oleaut32.dll
尝试以上方法,发现还是无法解决偶的问题!郁闷!
4.硬着头皮再次认真分析日志,根据日志编号在微软官方网站查到N多相关文档,逐一筛选!终于,不负有心人呀
一篇“安装针对 COM+ 和 MS DTC 的 Microsoft 安全公告 MS05-051 之后,可能会遇到各种问题”,正合我意!贴在下面
官网链接请看:http://support.microsoft.com/kb/909444/zh-cn
安装针对 COM+ 和 MS DTC 的 Microsoft 安全公告 MS05-051 之后,可能会遇到各种问题
在运行 Microsoft Windows XP、Microsoft Windows 2000 或 Windows Server 2003 的...
在运行 Microsoft Windows XP、Microsoft Windows 2000 或 Windows Server 2003 的计算机上,安装了 Microsoft 安全公告 MS05-051 中讨论的重要更新后,可能会出现问题,其中包括:
Windows Installer 服务可能不启动。
Windows 防火墙服务可能不启动。
“网络连接”文件夹为空。
Windows 更新网站可能会错误地建议您更改 Microsoft Internet Explorer 中的“持续使用用户数据”设置。
在 Microsoft Internet Information Services (IIS) 上运行的 Active Server Pages (ASP) 页返回“HTTP 500 - Internal Server Error”(HTTP 500 - 内部服务器错误)错误消息。
Microsoft COM+ EventSystem 服务不启动。
COM+ 应用程序不启动。
Microsoft 组件服务 Microsoft 管理控制台 (MMC) 树中的“计算机”节点无法展开。
经过身份验证的用户无法登录,而且在用户应用十月份的安全更新后出现空白屏幕。
在服务器群集配置中,群集服务无法启动。群集日志文件中记录了以下事件:
ERR [NM] 无法与 Net 连接管理器建立连接点,状态 80070005。WARN [NM] 无法初始化 Net 连接管理器通知接收器,状态 80070005 ERR [NM] 初始化失败 -2147024891
系统日志中可能记录与以下内容类似的事件:
事件 ID:512
来源:CryptSvc
说明:
Cryptographic Services 服务初始化 VSS 备份 "System Writer" 对象失败。
详细信息:
System Writer 对象订阅 VSS 失败。
系统错误:
灾难性故障
当您尝试使用脚本、WBEMTest.exe 实用工具或其他实用工具连接到 Windows Management Instrumentation (WMI) 时,可能出现访问被拒绝错误。在失败时,%windir%/system32/wbem/logs/wbemprox.log 文件包含与以下错误类似的错误:
ConnectViaDCOM, CoCreateInstanceEx resulted in hr = 0x80070005
当您创建空 COM+ 应用程序时,可能收到以下 COM+ 1.0 编录错误消息:
XACT_E_RECOVERYINPROGRESS (0x8004d082)
回到顶端
原因
如果有任何 COM 应用程序或 COM+ 应用程序无法访问 COM+ 编录文件,就可能会出现此问题。应用程序不能访问 COM+ 编录文件是因为,COM+ 编录目...
如果有任何 COM 应用程序或 COM+ 应用程序无法访问 COM+ 编录文件,就可能会出现此问题。应用程序不能访问 COM+ 编录文件是因为,COM+ 编录目录和编录文件上的权限已被更改,不再是原来的默认设置。在 Microsoft 安全公告 MS05-051 之前,不要求提供对 COM+ 编录的显式权限。COM+ 编录文件是 .clb 文件,位于 %windir%/registration 文件夹中。默认情况下,COM+ 编录目录和编录文件具有以下权限:
收起该表格展开该表格
AdministratorsSystemEveryoneAuthenticated usersServer Operators
Windows 2000 非域控制器完全控制完全控制读取
Windows 2000 域控制器完全控制完全控制 修改读取和执行
Windows Server 2003 非域控制器完全控制完全控制读取
Windows Server 2003 域控制器完全控制完全控制读取和执行
回到顶端
解决方案
根据 MS05-051 中实现的安全更改,需要对 %windir%/registration 文件夹具有读取级别的 NTFS 文件系统权限。默认权限包括 Eve...
根据 MS05-051 中实现的安全更改,需要对 %windir%/registration 文件夹具有读取级别的 NTFS 文件系统权限。默认权限包括 Everyone 组的读取权限。如果更改该配置,应用程序和服务可能会出现意外行为。选择实现限制性更强的 NTFS 安全权限的组织应考虑通过组成员身份为需要访问 COM 功能的用户、应用程序和服务授予读取级别权限。我们建议使用默认的文件夹设置,以免出现潜在的应用程序兼容性问题。如果管理员想要实现默认设置以外的设置,则建议他们进行广泛的应用程序兼容性测试。 有关修改系统文件夹权限可能会遇到的问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
885409 (http://support.microsoft.com/kb/885409/ ) 安全配置指南支持
除 NTFS 权限外,还需要“跳过遍历”权限。默认情况下,此权限会授予 Everyone 组。如介绍 NFTS 权限时所述,应通过组成员身份为用户、应用程序和服务授予此权限。 有关“跳过遍历”用户权限的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
823659 (http://support.microsoft.com/kb/823659/ ) 修改安全设置和用户权限分配时可能出现的客户端、服务和程序不兼容问题
要解决此问题,请恢复 COM+ 编录的默认权限。
对于运行 Windows 2000 或 Windows Server 2003 并且不充当域控制器的计算机,请按照下列步骤操作:
在 %windir%/registration 文件夹中,确保 Everyone 组具有读取权限。
在 %windir%/registration 文件夹中,确保 SYSTEM 帐户具有完全控制权限。
在 %windir%/registration 文件夹中,确保 Administrators 组具有完全控制权限。
在 %windir%/registration 文件夹中的 .clb 文件的高级安全属性中,确保选中“允许父项的继承审核项目传播到该对象和所有子对象,包括那些在此明确定义的项目”选项。
确保 Everyone 组具有以下权限之一:
在所有父目录上的“遍历”权限(“列出文件夹内容”),其中包括 %systemdrive%、%windir% 和 %windir%/registration
“跳过遍历检查”用户权限
要将“跳过遍历检查”用户权限分配给 Everyone 组,请按照下列步骤操作:
单击“开始”,单击“运行”,键入 gpedit.msc,然后单击“确定”。
依次展开“计算机配置”、“Windows 设置”、“安全设置”、“本地策略”,然后展开“用户权限分配”。
右键单击“跳过遍历检查”,然后单击“属性”。
单击“添加用户或组”。
键入 Everyone,然后单击“确定”。
注意:如果您收到无法找到名为“Users”的对象的消息,请单击“对象类型”,单击以选中“组”复选框,然后单击“确定”两次。
对于运行 Windows 2000 的域控制器,请按照下列步骤操作:
在 %windir%/registration 文件夹中,确保 Authenticated Users 组具有读取和执行权限。
在 %windir%/registration 文件夹中,确保 Server Operators 组具有修改权限。
在 %windir%/registration 文件夹中,确保 SYSTEM 帐户具有完全控制权限。
在 %windir%/registration 文件夹中,确保 Administrators 组具有完全控制权限。
在 %windir%/registration 文件夹中的 .clb 文件的高级安全属性中,确保选中“允许父项的可继承权限传播到该对象”选项。
对于运行 Windows Server 2003 的域控制器,请按照下列步骤操作:
在 %windir%/registration 文件夹中,确保 Everyone 组具有读取和执行权限。
在 %windir%/registration 文件夹中,确保 SYSTEM 帐户具有完全控制权限。
在 %windir%/registration 文件夹中,确保 Administrators 组具有完全控制权限。
在 %windir%/registration 文件夹中的 .clb 文件的高级安全属性中,确保选中“允许父项的继承审核项目传播到该对象和所有子对象,包括那些在此明确定义的项目”选项。
确保 Everyone 组具有以下权限之一:
在所有父目录上的“遍历”权限(“列出文件夹内容”),其中包括 %systemdrive%、%windir% 和 %windir%/registration
“跳过遍历检查”用户权限
要将“跳过遍历检查”用户权限分配给 Everyone 组,请按照下列步骤操作:
单击“开始”,单击“运行”,键入 gpedit.msc,然后单击“确定”。
依次展开“计算机配置”、“Windows 设置”、“安全设置”、“本地策略”,然后展开“用户权限分配”。
右键单击“跳过遍历检查”,然后单击“属性”。
单击“添加用户或组”。
键入 Everyone,然后单击“确定”。
注意:如果您收到无法找到名为“Users”的对象的消息,请单击“对象类型”,单击以选中“组”复选框,然后单击“确定”两次。
注意:系统以后可能会在 %windir%/registration 文件夹中创建更多 .clb 文件。为确保新的 .clb 文件有适当的权限,请将读取权限授予整个目录,而不是只将它直接授予当前存在的 .clb 文件。您可以使用 Cacls.exe 文件自动在受影响的计算机上进行这些权限更改,或将这些更改轻松推广到多台计算机。
对于运行 Windows 2000/Windows Server 2003 并且不充当域控制器的计算机,请使用以下命令:
echo y| cacls %windir%/registration /G everyone:R system:F administrators:Fecho y| cacls %windir%/registration/*.clb /G everyone:R system:F administrators:F对于运行 Windows 2000 的域控制器,请使用以下命令:
echo y| cacls %windir%/registration /G "Authenticated Users":R "Server Operators":R system:F administrators:F对于运行 Windows 2003 的域控制器,请使用以下命令:
echo y| cacls %windir%/registration /G everyone:R system:F administrators:Fecho y| cacls %windir%/registration/*.clb /G everyone:R system:F administrators:F注意:确保 y 字符和管道字符 (|) 之间没有空格。如果这两个字符之间有空格,命令将无法正确执行。
回到顶端
更多信息
发生此问题时,您可能会在事件日志中收到以下一个或多个事件: 如果“网络服务”帐户没有正确的权限,事件日志中可能会记录下面的 EventSystem 事件: 类型...
发生此问题时,您可能会在事件日志中收到以下一个或多个事件:
如果“网络服务”帐户没有正确的权限,事件日志中可能会记录下面的 EventSystem 事件:
类型:错误
事件源:EventSystem
事件类别:(50)
事件 ID:4609
日期:<Date>
时间:<Time>
用户:N/A
计算机:Server
说明:COM+ 事件系统在其内部处理过程中检测到一个错误的返回代码。HRESULT 为 80070005,来自 d:/qxp_slp/com/com1x/src/events/tier1/eventsystemobj.cpp 的第 xx 行。请与 Microsoft 产品支持服务联系以报告该错误。
如果“网络服务”帐户没有正确的权限,事件日志中可能会记录下面的 COM+ 事件:
类型:信息
事件源:COM+
事件类别:(117)
事件 ID:778
日期:<Date>
时间:<Time>
用户:N/A
计算机:Server
说明:应用程序映像转储失败。
服务器应用程序 ID:<GUID>
服务器应用程序实例 ID:<GUID>
服务器应用程序名:COM+ 资源管理器
错误代码 = 0x80004005:Unspecified error
COM+ 服务内部信息:文件:d:/qxp_slp/com/com1x/src/shared/util/svcerr.cpp,行:1259 Comsvcs.dll 文件版本:ENU 2001.12.4414.308 shp
有关更多信息,请参阅位于 http://support.microsoft.com 的帮助和支持中心。
如果“网络服务”帐户没有正确的权限,事件日志中可能会记录下面的 COM+ 事件:
类型:错误
事件源:COM+
事件类别:未知
事件 ID:4689
日期:<Date>
时间:<Time>
用户:N/A
计算机:Server
说明:运行时环境检测到其内部状态中存在不一致。这表明进程中可能存在不稳定状态,此不稳定可能是在 COM+ 应用程序中运行的自定义组件、这些组件所利用的组件或者其他因素导致的。d:/qxp_slp/com/com1x/src/comsvcs/package/cpackage.cpp(1184) 中存在错误,hr = 80070005:InitEventCollector 失败
有关更多信息,请参阅位于 http://support.microsoft.com 的帮助和支持中心。
当您尝试浏览在 IIS 服务上运行的一个 ASP 页面而未选择 Internet Explorer 中的“显示友好 HTTP 错误消息”选项时,可能会收到下面的错误消息:
Server Application Error.
The server has encountered an error while loading an application during the processing of your request.Please refer to the event log for more detail information.Please contact the server administrator for assistance.
HTTP 500 - 内部服务器错误 Internet Explorer事件日志中可能还会记录类似下面这样的一个事件:
类型:错误
事件源:DCOM
类别:无
事件 ID:10010
日期:<Date>
时间:<Time>
用户:NT AUTHORITY/SYSTEM
计算机:Server
说明:服务器 <GUID> 没有在限定的时间内向 DCOM 注册。
当您试图在“组件服务”中手动启动 COM+ 应用程序时,可能会收到以下错误消息:
Catalog Error:An error occurred while processing the last operation.Error code 80080005 - Server execution failed.The event log may contain additional troubleshooting information.
事件日志中可能还会记录类似下面这样的一个事件:
类型:错误
事件源:DCOM
类别:无
事件 ID:10010
日期:<Date>
时间:<Time>
用户:NT AUTHORITY/SYSTEM
计算机:Server
说明:服务器 <GUID> 没有在限定的时间内向 DCOM 注册。
类型:警告
事件源:W3SVC
类别:无
事件 ID:36
日期:<Date>
时间:<Time>
用户:N/A
计算机:Server
说明:服务器无法加载应用程序“/LM/W3SVC/1/ROOT”。错误是“服务器运行失败”。
有关与此消息相关的更多信息,请访问 Microsoft 联机支持网站:http://search.support.microsoft.com/search/?adv=1.
有关更多信息,请参见位于 http://support.microsoft.com 的帮助和支持中心。
当您尝试安装应用程序或尝试手动启动 Windows 安装程序服务时,可能会收到下面的错误消息:
不能访问 Windows Installer Service。如果您在安全模式下运行 Windows,或者 Windows Installer 没有正确安装,就可能发生这种情形。请和您的支持人员联系以获得协助。
Windows 防火墙服务可能无法启动,并显示下面的错误代码:
Error Result :0x80070005 ( -2147024891 ) ID Defined as :E_ACCESSDENIED Message Text :Access is denied.
回到顶端
重现此问题的步骤
从 *.clb 文件的文件权限中删除系统帐户和 Everyone 帐户。为此,请按照下列步骤操作:
单击“开始”,单击“运行”,键入 Explorer.exe c:/winnt/registration,然后单击“确定”。
在 Windows 资源管理器中,右键单击“属性”,然后单击“安全”选项卡。
在“Registration 属性”对话框中,单击“组或用户名称”下的“System”,然后单击“高级”。
在“Registration 的高级安全设置”对话框中,单击“删除”,然后单击“确定”。
重复步骤 3 和步骤 4,撤消 Everyone 帐户对 .clb 文件的访问权。
回到顶端
这篇文章中的信息适用于:
Microsoft Windows Server 2003 Datacenter Edition
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 Standard Edition
Microsoft Windows Server 2003 Service Pack 1
Microsoft Windows XP Professional SP1
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Datacenter Server
回到顶端
关键字: kbresolve kbtshoot kbprb KB909444
5.根据文档提示操作后,再次打开分布式COM配置属性设置窗口-“默认属性”-“默认模拟级别”设置项处,将参数已经由设置成“匿名”改成“标识”选项,重启系统,问题解决
本文来源于涂川、妮娜的E家 http://www.tuchuan.cn/ , 原文地址:http://www.tuchuan.cn/post/48.html