繁体   English   中英

VBScript 远程 WMI 调用“错误:0 '权限被拒绝:'GetObject”

[英]VBScript Remote WMI Call "Error:0 'Permission denied: 'GetObject"

我在尝试进行远程 WMI 调用时收到以下错误:

无法解析脚本。 错误:来源:'Microsoft VBScript 运行时错误' 第 4 行字符:1 错误:0 '权限被拒绝:'GetObject''

如果我运行以下代码指向我的本地机器,我不会收到任何错误。 但是,当我运行指向远程机器的代码时,出现上述错误。

strComputer = "COMPUTER-X"
strService = "Netlogon"

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colRunningServices = objWMIService.ExecQuery("Select * from WIN32_Service")

For Each objService in colRunningServices
    if objService.DisplayName = strService then
        if objService.State = "Running" then
            Context.SetValue 1
        else
            Context.SetValue 0
        End If
    Else
    End If
Next

我尝试了以下方法:

  1. 关闭远程机器上的防火墙。
  2. 在远程计算机上将 HKLM\Software\Policies\Microsoft\Windows NT\RPC "RestrictRemoteClients" 从 2 更改为 1
  3. 更改组策略 Computer Configuration\Admistrative Templates\System\RPC“Restrict Unauthenticated RPC clients”和“Enable RPC Endpoint Mapper Client Authenticatin”设置。

任何帮助,将不胜感激!

执行查询的计算机使用计算机帐户 (CONTOSCO\COMPUTER-X) 连接到远程计算机,但它没有执行 winmgmts 命令的正确权限。 将计算机帐户 (CONTOSCO\COMPUTER-X) 添加到本地管理员组后,查询执行没有问题!

参考: https://learn.microsoft.com/en-us/windows/win32/wmisdk/user-account-control-and-wmi

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM