Windows-Server-2008-R2

Windows Server 2008 R2 上的遠端 WMI 連接問題

  • July 26, 2011

我剛剛完成了 Windows Server 2008 R2 (x64) 的全新安裝。我有一個使用遠端 DCOM 通信與伺服器通信並查詢一些 WMI 對象的應用程序。當我使用管理員登錄進行 WMI 通信時,一切都很好。

當我在管理員組中添加新使用者時(通過在新使用者創建 GUI 中選擇使用者為管理員),它似乎不起作用。我已經向使用者提供了 DCOM 遠端訪問權限(使用http://jintegra.intrinsyc.com/support/com/doc/remoteaccess.html)和 WMI 訪問權限(使用http://www.poweradmin. com/help/enableWMI.aspx)。我還在 Server 2008 R2 上找到了 renegade 系統資料庫項,並將新創建的使用者設為所有者並授予所有權限(使用http://www.opennms.org/wiki/WmiConfiguration#Windows_2008_R2)。

即使那樣,當我嘗試連接時,我也無法一路連接。我知道這一點是因為我查看了 Windows 安全日誌​​,並且可以看到成功的憑據驗證、特殊登錄和登錄事件。

但是,我無法進一步進行。我收到錯誤,無法連接到主機,然後我被註銷(從安全日誌中找到)。

我什至不知道哪個服務不允許我訪問。以前有人處理過這個問題嗎?如果您有一個快速的答案,那就太好了,否則,請告訴我如何正確閱讀安全日誌或其他日誌以找出哪些服務拒絕我訪問。

此外,所有 3 個防火牆,域/公共/私人都已關閉。

非常感謝!!

您可能還需要為您嘗試查詢的對象設置 ACL。請參閱http://msdn.microsoft.com/en-us/library/aa374872%28v=vs.85%29.aspx

過去我必須這樣做才能訪問 MS 服務、事件日誌等。

編輯:

簡而言之,您可能需要使用管理帳戶為您嘗試訪問的 WMI 對象設置 ACL,然後才能通過非特權帳戶訪問它們。

這就是我在我們的環境中設置它的方式:

配置 DCOM

  • 在要管理的伺服器上點擊開始,點擊執行,鍵入 DCOMCNFG,然後點擊確定。
  • 在組件服務對話框中,展開組件服務,展開電腦,然後右鍵點擊我的電腦並點擊屬性。
  • 在“我的電腦屬性”對話框中,點擊“COM 安全”選項卡。
  • 在啟動和啟動權限下,點擊編輯限制。
  • 在“啟動權限”對話框中,選擇“分佈式 COM 使用者”。在使用者權限下的允許列中,選擇遠端啟動並選擇遠端啟動,然後點擊確定。
  • 在訪問權限下,點擊編輯限制。
  • 在“訪問權限”對話框中,選擇“分佈式 COM 使用者”。在使用者權限下的允許列中,選擇遠端訪問,然後點擊確定。
  • 將使用者帳戶添加到電腦管理中的分佈式 COM 使用者組、要管理的伺服器上的本地使用者和組。
  • 將使用者帳戶添加到電腦管理中的性能日誌使用者組,要管理的伺服器上的本地使用者和組。

配置 WMI

  • 在要管理的伺服器上點擊開始,點擊執行,鍵入 wmimgmt.msc,然後點擊確定。
  • 在控制台樹中,右鍵點擊 WMI 控制項,然後點擊屬性。
  • 點擊安全選項卡。
  • 選擇根命名空間,然後點擊安全性。
  • 在“安全”對話框中,點擊“添加”。
  • 在“選擇使用者、電腦或組”對話框中,輸入使用者帳戶。點擊檢查名稱按鈕以驗證您的輸入,然後點擊確定。
  • 在“安全”對話框的“權限”下,為使用者帳戶選擇“啟用帳戶”和“遠端啟用”。
  • 確保權限傳播到所有子命名空間。

上述大部分工作都可以使用組策略完成(自動化)。

現在要為服務設置 ACL,您可以執行以下操作:

sc sdshow SCMANAGER

… 獲取服務管理器的 ACL。這將負責訪問大多數 Windows 服務。然後,您需要為上面的使用者帳戶添加一個 ACL,如下所示:

sc sdset SCMANAGER D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA ;;;BA)(A;;CCLCRPRC;;; S-1-5-21-000000000-0000000000-0000000000-0000 )S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;; ;WD)

…其中粗體部分是發出請求的使用者帳戶的 UID。

事件日誌的工作方式略有不同,但您可以使用“wevtutil”在它們上設置 ACL。其他對像也可能有不同的設置方式。

逐步進行故障排除,首先讓查詢在本地使用您的使用者帳戶工作,然後讓它們遠端工作。

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