从 Linux 系统到 Windows 使用本地用户调用 wmic (NT_STATUS_ACCESS_DENIED)

从 Linux 系统到 Windows 使用本地用户调用 wmic (NT_STATUS_ACCESS_DENIED)

这个问题已经以各种形式被问到,但没有一个解决方案对我有用。

我尝试icinga从 Linux 机器运行,其中一个插件使用WMI查询。它失败了,所以我决定运行简单wmic查询来查找问题。我使用以下查询:

wmic -U locallogin%'localpass' //myserver.domain.net "select * from Win32_Bios"

其中locallogin是本地管理员,localpass是密码。不幸的是,我收到以下错误:

[wmi/wmic.c:196:main()] 错误:登录远程对象。NTSTATUS
:NT_STATUS_ACCESS_DENIED - 拒绝访问

但是当我使用域登录时,我得到了成功的响应。所以我的理论是,这与网络设置无关,而是用户凭据/权限问题,但我不知道在哪里查找。我应该注意,我已经成功地在我的域中的另一台机器上使用了本地管理员帐户,但我找不到该机器上的本地用户与另一台机器上的本地用户之间的任何差异。

  • 我已经确认防火墙设置等,但由于我可以使用域登录,所以我认为这不是问题。
  • 我已尝试通过明确方式将其添加localloginWMI安全性中wmimgmt.msc(即使本地管理员已经可以这样做)。
  • 我已经进入DCOMCNFG-> Component Services-> Computers-> My Computer-> Properties-> 在 COM 安全下并将用户添加到两个部分。
  • 我努力了但它不起作用,而且由于我可以使用域登录运行我的查询,所以我不认为这是问题所在。
  • 我已经以提升的权限运行了这两项操作(以防万一)cmdnetsh advfirewall firewall set rule group="remote desktop" new enable=Yeswinrm 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% 确定密码正确并且用户存在。

答案1

当然,我发布悬赏后它立即开始工作。我没有重启或更改任何东西。我不知道为什么它现在起作用了

相关内容