【问题标题】:Access is denied (80070005) when trying to retrieve WMI using SWbemLocator from remote machine尝试使用 SWbemLocator 从远程计算机检索 WMI 时访问被拒绝 (80070005)
【发布时间】:2016-03-02 19:14:46
【问题描述】:

我尝试连接的远程机器如下:

  • Windows Embedded 标准 7 (SP1)。
  • 在工作组中配置。
  • 我使用的凭据来自管理员帐户。
  • 我已将所有权限授予 CIMV2 命名空间中的“Everyone”组,包括所有子文件夹和条目 (wmimgmt.msc)。
  • 我已将组件服务 ( dcomcnfg.exe)。
  • Windows 防火墙已禁用。

这是我正在使用的代码:

Dim remotets, objComputer, colComputereremote, strComputer
Dim objSWbemLocator, objWMIServiceremote

strComputer = "XTEMB4" 
WScript.Echo strComputer

'Get remote machine WMI service object  
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIServiceremote = objSWbemLocator.ConnectServer(strComputer, "root\CIMV2", "dts", _
"dts", "MS_409", "ntlmdomain:" & "")
Set colComputereremote = objWMIServiceremote.ExecQuery _
("Select * from Win32_OperatingSystem")

For Each objComputer in colComputereremote
    remotets = objComputer.LocalDateTime
    WScript.Echo remotets
Next

WScript.Quit

我在 Windows XP Embedded 机器上尝试了相同的代码(与 Win7 机器相同的配置),它运行良好。

【问题讨论】:

    标签: vbscript wmi windows-embedded-standard


    【解决方案1】:

    在挖掘了一些相关问题后,我发现了一个对我有用的建议:我必须将用于远程访问 WMI 的用户帐户(我的代码中的“dts”和“dts”)添加到组“分布式 COM 用户”和“性能监视器用户”。这需要在目标远程 Windows 7 机器中进行更改。

    信息可以在this link找到。

    此外,有关如何在 Windows 7 标准中将用户添加到特定组的信息可以在 here 找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      相关资源
      最近更新 更多