我自己还不熟悉 wmic,并使用默认代理查询方法尝试了很长时间。
wmic 是基于 Linux 的 WMI 工具,用于与 Windows WMI 代理通信。尝试使用 wmic 从 nt(运行 WMI 服务的 win7)获取数据时,它在所有情况下都显示访问被拒绝。
问题是可能的原因是什么,是防火墙端口、WMI 组、文件或用户权限还是其他什么?任何提示都会非常有帮助。
[root@rhel6 wmic]# wmic -U nt-login-name% //nt-primary-ip "select caption, name, parentprocessid, processid from win32_process"
[librpc/rpc/dcerpc_util.c:1290:dcerpc_pipe_auth_recv()] Failed to bind to uuid 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57 - NT_STATUS_NET_WRITE_FAULT
[librpc/rpc/dcerpc_connect.c:790:dcerpc_pipe_connect_b_recv()] failed NT status (c0000022) in dcerpc_pipe_connect_b_recv
[wmi/wmic.c:196:main()] ERROR: Login to remote object.
NTSTATUS: NT_STATUS_ACCESS_DENIED - Access denied
答案1
您是否在交换机上使用了完整凭据-U
并在密码后附加了%?
wmic -U [domain/]adminuser%
密码//host "select caption, name, parentprocessid, processid from win32_process""
对我有用的查询是这样的:
wmic -U NTDOMAIN/administrator%password //192.168.0.73 "select username from Win32_Computersystem"
答案2
我刚刚花了几个小时调试同一个问题,发现Network security: LAN Manager authentication level
问题的关键在于安全设置,在有问题的服务器上,安全设置被设置为Send NTLMv2 response only\refuse LM & NTLM
。将其更改为Send LM & NTLM - use NTLMv2 session security if negotiated
可解决问题并允许wmic
连接。
答案3
我还没有资格发表评论,但在亲自遇到这个问题后,我发现问题确实是 Linux WMIC 代理发送的是 LM 身份验证请求,而不是 Adrian Frühwirth 提到的 GPO 要求的 NTLMv2。我没有降低安全策略的限制,而是采取了在 WMIC 命令行中添加以下内容的方法:
--option="client ntlmv2 auth"=Yes
。
这为我解决了这个问题,并且没有强制服务器接受 LM 支持的安全性较低的身份验证交换。
可能有用的参考:https://support.nagios.com/forum/viewtopic.php?t=5029&p=22405