已经以各种形式提出了这个问题,但没有一个解决方案对我有用。
我正在尝试icinga
从 linux 机器上运行,其中一个插件使用WMI
查询。它失败了,所以我决定运行简单wmic
的查询来查找问题。我使用以下查询:
wmic -U locallogin%'localpass' //myserver.domain.net "select * from Win32_Bios"
wherelocallogin
是本地管理员,localpass
是密码。不幸的是,我收到以下错误:
[wmi/wmic.c:196:main()] 错误:登录到远程对象。
NTSTATUS: NT_STATUS_ACCESS_DENIED - 访问被拒绝
但是,当我使用域登录时,我得到了成功的响应。所以我的理论是,这与网络设置无关,而是用户凭据/权限问题,但我不知道去哪里找。我应该注意,我已经在我的域上的另一台机器上成功使用了本地管理员帐户,但我找不到它上的本地用户和另一台机器上的本地用户之间的任何差异。
- 我已经确认了防火墙设置等,我认为这不是问题,因为我可以使用域登录。
- 我已经尝试通过显式添加
locallogin
到WMI
安全性wmimgmt.msc
(即使本地管理员已经可以这样做)。 - 我已经进入
DCOMCNFG
->Component Services
->Computers
->My Computer
->Properties
-> 在 COM 安全下,并将用户添加到这两个部分。 - 我已经尝试过了,但是没有用,因为我可以使用域登录来运行我的查询,我认为这不是问题。
cmd
我已经以提升的权限运行了这两个(以防万一) :netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
和winrm quickconfig
.
有什么我忘记了吗?我已经删除并重新添加了本地用户,三重检查错别字等,但我已经被困 2 天了。任何帮助表示赞赏。
更多信息
我还尝试在同一域内的另一个 Windows 机器上从 Powershell 运行以下命令:
Get-WmiObject -ComputerName myserver.domain.net -Class Win32_Process -Credential locallogin
locallogin
远程服务器上存在的用户在哪里。这失败了
Get-WmiObject:访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))
在远程服务器上的事件日志中,我看到:
失败信息:失败原因:未知用户名或密码错误。状态:0xC000006D 子状态:0xC0000064
但是我 110% 确定密码是正确的并且用户存在。
当然,在我发布赏金后,它立即开始工作。我没有重新启动或更改任何内容。我不知道为什么它现在可以工作。