Powershell中远程机器上的WMI查询

问题描述 投票:0回答:2

我想在远程计算机上运行查询(例如CIM_Memory),在这种情况下,它是一个虚拟机。我在Powershell中使用此代码:

Get-WmiObject CIM_Memory -ComputerName IPADDRESS -Credential USERNAME

当然还有实际的IP和用户名。两个操作系统(均为Win7)都启用了RemoteAdmin。

我得到了这个例外:

Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)

由于它是带有UAC功能的Win7,因此用户可以获得访问令牌。所以有这个注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ LocalAccountTokenFilterPolicy

将此设置为1后,仍然会得到相同的异常。可能是什么问题呢?

powershell wmi wmi-query
2个回答
0
投票

您是否阅读过MSDN上的WMI Troubleshooting部分?以下是关于您的错误的说法:

0x80070005 - E_ACCESS_DENIED - DCOM安全性拒绝访问。

用户无法通过DCOM远程访问计算机。通常,连接到具有不同操作系统版本的远程计算机时会发生DCOM错误。

在dcomcnfg中为用户授予远程启动和远程激活权限。右键单击我的电脑 - >属性在COM安全下,单击两个部分的“编辑限制”。为您希望远程访问,远程启动和远程激活的用户提供服务。然后转到DCOM Config,找到“Windows Management Instrumentation”,并为用户提供远程启动和远程激活。有关更多信息,请参阅在不同操作系统之间连接


0
投票

强烈建议您启用ps远程处理(如果可以)。这样您就可以告诉目标计算机运行本地wmi调用并向您报告。

在防火墙,随机端口方面,WMI存在许多问题。

© www.soinside.com 2019 - 2024. All rights reserved.