Linux

使用本地使用者從 linux box 呼叫 wmic 到 windows (NT_STATUS_ACCESS_DENIED)

  • November 7, 2017

已經以各種形式提出了這個問題,但沒有一個解決方案對我有用。

我正在嘗試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 - 訪問被拒絕

但是,當我使用域登錄時,我得到了成功的響應。所以我的理論是,這與網路設置無關,而是使用者憑據/權限問題,但我不知道去哪裡找。我應該注意到我已經在我的域上的另一台機器上成功使用了本地管理員帳戶,但我找不到它上的本地使用者和另一台機器上的本地使用者之間的任何差異。

  • 我已經確認了防火牆設置等,我認為這不是問題,因為我可以使用域登錄。
  • 我已經嘗試通過顯式添加localloginWMI安全性wmimgmt.msc(即使本地管理員已經可以這樣做)。
  • 我已經進入DCOMCNFG-> Component Services-> Computers-> My Computer-> Properties-> 在 COM 安全下,並將使用者添加到這兩個部分。
  • 我已經嘗試過,但是沒有用,因為我可以使用域登錄來執行我的查詢,我認為這不是問題。
  • cmd我已經以提升的權限執行了這兩個(以防萬一) :netsh 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% 確定密碼是正確的並且使用者存在。

當然,在我發布賞金後,它立即開始工作。我沒有重新啟動或更改任何內容。我不知道為什麼它現在可以工作

引用自:https://serverfault.com/questions/881955