Powershell 获取WMIObject 0x80070005

Powershell 获取WMIObject 0x80070005,powershell,wmi,get-wmiobject,Powershell,Wmi,Get Wmiobject,在工作组计算机上,我运行以下命令: $wmi_pass = "<password>" $wmi_user = "<username>" $remote_pass = ConvertTo-SecureString -String $wmi_pass -AsPlainText -Force; $remote_credential = New-Object -TypeName System.Management.Automation.PSCredential -Argument

在工作组计算机上,我运行以下命令:

$wmi_pass = "<password>"
$wmi_user = "<username>"
$remote_pass = ConvertTo-SecureString -String $wmi_pass -AsPlainText -Force;
$remote_credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $wmi_user, $remote_pass;
Get-WMIObject -Query "Select DisplayName from Win32_Service where StartMode='Auto'" -ComputerName "<IP address>" -Credential $remote_credential
我收到以下错误:来自HRESULT的异常:0x80070005 E_ACCESSDENIED

我在几个服务器上试用过,结果都是一样的。使用wmimgmt.msc,我选择了根节点,并验证Administrators组是否选中了除“特殊权限”之外的所有“允许”复选框


有什么想法吗?

要远程查询WMI,用户除了需要访问您已经完成的WMI命名空间外,还需要DCOM权限。可以使用以下方式授予DCOM权限:

dcomcnfg见或 GPO计算机配置->策略->Windows设置->安全设置->本地策略->安全选项->DCOM:安全描述符定义语言中的计算机访问限制SDDL语法设置与dcomcnfg中相同的权限,但会锁定这些权限,因此无法在本地编辑 将用户添加到性能日志用户或分布式COM用户组