尝试使用 SWbemLocator 从远程计算机检索 WMI 时访问被拒绝 (80070005)

Access is denied (80070005) when trying to retrieve WMI using SWbemLocator from remote machine

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

这是我正在使用的代码:

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 机器的配置相同)并且它工作正常。

在挖掘了一些相关问题之后,我发现了一个对我有用的建议:我必须添加我用来远程访问其凭据("dts" 和 "dts" 在我的代码中)的用户帐户将 WMI 访问组 "Distributed COM Users" 和 "Performance Monitor Users"。这需要在目标远程 Windows 7 机器上更改。

可以在this link中找到信息。

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

中找到