我收到了这个错误
资料来源: DCOM。 Event_ID: 10010 “服务器{6FC4FDAE-96C8-11D3-9F9C-005004053207}没有在所需的超时时间内向DCOM注册。”
这是针对特定的exe,当作为本地系统运行时运行良好,但在非内置管理员下运行时会失败。我需要在非内置管理员下运行exe。
目前,我得到了这个问题在一个胜利2k3机器与Citrix。
不过,我以前在XP机器上也遇到过这个问题。
对解决这个问题有什么建议吗?
发布于 2009-12-13 04:00:51
在我的例子中,我的机器上的XP是由我公司的IT人员修改的。因此,他们有一些组策略,拒绝访问某些DCOM设置,即使是对于管理员组。
解决方法是在使用内置管理员帐户的凭据打开的命令提示符中手动注册DCOM服务器。
发布于 2009-07-21 04:38:31
因为我不完全理解背景..。以下是一些帮助你解决问题的建议.它有助于在原始计算机和目标计算机上拥有管理权限.(至少可以配置和检查)。
DCOM可能会令人困惑。当跨计算机边界处理DCOM时,最有可能的问题是本地计算机和应用程序不受冲突和/或不受凭据、防火墙和DCOM设置影响的安全性。就80/20原则而言,goes...here是一些简单的规则,可以让你大致理解。
首先,使安全性可见:在原始计算机上启动SecPol.MSC,定位本地策略/审核策略,并对每种事件类型进行审核。你最好在目标机器上做。
启动DCOM事件日志记录。按照以下指示http://support.microsoft.com/kb/892500
第二,更改已知的默认工作组设置,以便在整个DCOM中执行..确保在原始计算机和目标计算机上禁用简单文件共享(也称为客户仅限身份验证)。如果两者都在域中,则很可能禁用。否则..。secpol.msc\security设置\安全选项\网络访问:将共享作为本地帐户的安全模型(设置为经典)
第三,掌握所需的安全措施.
如果两台机器位于不同的域中,或者其中一台(或者都在工作组中),请理解所需的公共安全性;也就是说,凭证必须在每台机器上是通用的或同步的。也就是说,对于在原始计算机上运行进程的登录,目标计算机上必须存在相同的凭据。对于同一域中的两种情况,不要担心一台计算机的基于域的凭据与另一台计算机的凭据是相同的。
第四,如果可能的话,让防火墙离开。
只有在安全的情况下才暂时禁用it..but。否则,假设netbios端口和应用程序的exename (135/139 135)。所使用的端口是一个假设;也就是说,这可能是不正确的。
第五,在事情变得太复杂之前.只需尝试诱导错误(运行程序)并检查两台机器上的系统和安全日志。如果这是一个安全问题,它将突出像一个疼痛的拇指,你可以相应地调整。
如果不是,dcomcnfg将是你的朋友。特定组件的DCOM设置以下列精度解析:执行的代码、程序设置和默认计算机设置。Dcomcnfg将帮助您解决后两者。您可以在http://www.opcfoundation.org/DownloadFile.aspx?RI=326上找到更具体(但更简化)的方向。
如果你被卡住了跟进..。
发布于 2009-07-17 14:00:25
使用DCOM时出现的权限问题会使您感到痛苦.它们介于系统管理员和程序员之间,除非一个人对另一个部分有足够的了解,否则他们很难克服。
至于您的特定问题,此错误消息的原因是服务器启动时间过长,将对CoRegisterClassObject的调用推迟到超时后。在查看COM之前,我会查找您的服务器启动中出现问题的原因。检查您所做的任何初始化(全局变量、构造函数等)并确保不抛出任何异常。用户的更改可能导致某些目录或注册表单元变得不可访问,可能会破坏初始化。
我要做的是首先使用ProcMon监视服务器活动。这将使您很容易找到任何拒绝访问的问题,并向您展示相关的堆栈跟踪。如果需要调试,可以在这些指示之后启动exe时立即附加调试器。最后,如果问题发生在没有VS的机器上,则可以使用WinDBG来调试进程。
https://stackoverflow.com/questions/1142437
复制相似问题