错误信息“Access is denied。(Exception from HRESULT:0x80070005(E_ACCESSDENIED)”)表示用户没有通过DCOM远程访问计算机。通常,当连接到具有不同操作系统版本的远程计算机时,会出现DCOM错误。排查此问题,请执行以下步骤:

  1. 给用户远程启动和远程激活权限:
    运行“dcomcnfg”。
    右键单击我的电脑 – >属性在COM安全下,单击两部分的“编辑限制”。为用户提供远程访问,远程启动和远程激活。然后转到DCOM配置,找到“Windows Management Instrumentation”,并为用户指定远程启动和远程激活。
    根据我的搜索,您可以首先重新注册WMI组件并重置WMI组件权限以测试结果。
  2. 对于Windows Server 2008,在用户帐户控制(UAC)下,访问令牌筛选可以影响WMI名称空间中允许的操作或返回的数据。在UAC下,本地管理员组中的所有帐户都使用标准用户访问令牌运行,也称为UAC访问令牌筛选。
    当您未连接到内置管理员帐户时,UAC会根据两台计算机是在域还是在工作组中而影响与远程计算机的连接。有关UAC和远程连接的更多信息,请参阅:
    用户帐户控制和WMI
    http://msdn.microsoft.com/en-us/library/aa826699(VS.85).aspx
  3. 为确保DCOM访问,我们应该在Windows Server 2008上禁用UAC,如下所示:
    注册表项:HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ system \ LocalAccountTokenFilterPolicy。当此条目的值为零(0)时,启用远程UAC访问令牌筛选。值为1时,远程UAC被禁用。
  4. 如果这个问题仍然存在,这可能是由WMI组件的损坏引起的。在这种情况下,请按照以下步骤重新注册WMI:
    重新注册WMI
    ================
    WMI使用的.DLL和.EXE文件位于%windir%\ system32 \ wbem中。您可能需要重新注册该目录中的所有.DLL和.EXE文件。如果您运行的是64位系统,则可能还需要检查%windir%\ sysWOW64 \ wbem中的.DLL和.EXE文件。
    要重新注册WMI组件,请在命令提示符处运行以下命令:cd / d%windir%\ system32 \ wbem(* .dll)中的%i执行RegSvr32 -s%i为%i在(* .exe)做%i / RegServer
  5. 有关此问题的更多参考,请参阅访问被拒绝。
    http://social.msdn.microsoft.com/forums/en-US/vsreportcontrols/thread/26accc30-9cfb-4d86-9c27-780f51929ecb
  6. 如何解决WMI Access被拒绝。(来自HRESULT的异常:0x80070005(E_ACCESSDENIED))
    http://www.lansweeper.com/kb/accessdenied.aspx
声明:
本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。