在Modern Windows上,默认配置是这样完成的,如果我作为本地用户进行网络登录,实际上我只是作为访客进行身份验证(有关此行为的更多详细信息,请参阅http://technet.microsoft.com/en-us/library/cc786449(WS.10).aspx)
当我的程序试图通过DCOM访问这种服务器上的WMI时,我只是得到“拒绝访问”错误,可能是因为不允许访客用户连接到WMI。
我想将此错误与其他类型的拒绝访问错误区分开来,例如错误的密码或不存在的用户名,以便我可以向用户解释他们需要解决的问题。
所以我的问题是,我该怎么做来检测这样的服务器。我想如果有一些可以由访客激活的COM组件,那就可以了 - 我可以尝试激活这样的组件,如果可行,我知道我的登录凭证是正确的。但我想不出任何这样的具体内容。
有谁知道这样的组件?或者其他任何诊断这种情况的方法?
答案 0 :(得分:2)
不,我不记得有一个客户可以访问的DCOM服务器。这不是不安全的吗? 如果您有时间,可以使用dcomcnfg检查DCOM服务器的所有安全设置。也许有客人。但我不这么认为。
另一方面。您无法在客户端看到AccessDenied背后的原因,因为这会使服务器更容易受到攻击。如果攻击者可以区分不同类型的访问被拒绝错误,他可能会相应地调整他的行为。 但是,如果您有权访问服务器,则可以激活DCOM日志记录(请参阅http://support.microsoft.com/?scid=kb%3Ben-us%3B892500&x=18&y=11)
作为一种解决方案,我建议你写一些类似的问题以及它们如何发生在FAQ /自述文件/网页中。人们倾向于在网上搜索而不是阅读消息框。