存取 WMI 命名空間

WMI 使用標準 Windows 安全性描述元 來控制 WMI 命名空間的存取。 當您連線到 WMI 時,請透過 WMI “winmgmts” moniker 或 IWbemLocator::連線 ServerSWbemLocator.連線伺服器,您會連線到特定的命名空間。

本主題將討論下列資訊:

WMI 命名空間安全性

WMI 藉由比較 連線至命名空間的使用者存取令牌命名空間的安全性描述元 ,來維護命名空間安全性。 如需 Windows 安全性的詳細資訊,請參閱 存取 WMI 安全性實體物件

請注意,從 Windows Vista 開始,用戶帳戶控制 (UAC) 會影響 WMI 數據的存取,以及可使用 WMI 控件設定的專案。 如需詳細資訊,請參閱 WMI 命名空間 的預設許可權和 用戶帳戶控制和 WMI

當連線來自遠端計算機時,WMI 命名空間的存取也會受到影響。 如需詳細資訊,請參閱 連線 遠端電腦上的 WMI、保護遠端 WMI 連線,以及透過 Windows 防火牆 連線。

提供者必須依賴連線的模擬設定,以判斷用戶端腳本或應用程式是否應該接收數據。 如需文稿和用戶端應用程式的詳細資訊,請參閱 設定用戶端應用程式進程安全性。 如需提供者仿真的詳細資訊,請參閱開發 WMI 提供者

WMI 命名空間稽核

WMI 會使用命名空間 系統訪問控制清單 (SACL) 來稽核命名空間活動。 若要啟用 WMI 命名空間的稽核,請使用 WMI 控制件上的 [安全性] 索引標籤來變更命名空間的稽核設定。

在安裝作業系統期間,不會啟用稽核。 若要啟用稽核,請按兩下標準 [安全性] 視窗中的 [稽核] 索引標籤。 然後,您可以新增稽核專案。

本機計算機的組策略必須設定為允許稽核。 您可以執行 Gpedit.msc MMC 嵌入式管理單元,並在 [計算機>設定] Windows 設定 [安全性] 設定>> [本機原則>審核策略] 底下設定稽核物件存取,以啟用稽核。

稽核專案會編輯命名空間的 SACL。 當您新增稽核專案時,其為使用者、群組、計算機或內建安全性主體。 新增項目之後,您可以設定導致安全性記錄事件的存取作業。 例如,針對 [已驗證的使用者] 群組,您可以按兩下 [執行方法]。 每當已驗證的使用者群組成員在該命名空間中執行方法時,此設定就會產生安全性記錄事件。 WMI 事件的事件標識碼為 4662。

您的帳戶必須位在 管理員 istrators 群組中,並且以較高的許可權執行,才能變更稽核設定。 內建 管理員 istrator 帳戶也可以變更命名空間的安全性或稽核。 如需在提升許可權模式中執行的詳細資訊,請參閱 用戶帳戶控制和 WMI

WMI 稽核會產生成功或失敗事件,以嘗試存取 WMI 命名空間。 服務不會稽核提供者作業的成功或失敗。 例如,當腳本連線到 WMI 和命名空間時,它可能會失敗,因為執行腳本的帳戶無法存取該命名空間,或嘗試作業,例如編輯未授與的 DACL。

如果您是在 管理員 istrators 群組的帳戶下執行,您可以在 事件檢視器 使用者介面中檢視命名空間稽核事件。

命名空間事件的類型

WMI 會追蹤安全性事件記錄檔中的下列事件類型:

  • 稽核成功

    作業必須順利完成稽核成功的兩個步驟。 首先,WMI 會根據用戶端 SID 和命名空間 DACL 授與用戶端應用程式或腳本的存取權。 其次,要求的作業符合該使用者或群組之命名空間 SACL 中的訪問許可權。

  • 稽核失敗

    WMI 會拒絕對命名空間的存取,但要求的作業符合該使用者或群組之命名空間 SACL 中的訪問許可權。

命名空間存取 設定

您可以在 WMI 控制件上檢視各種帳戶的命名空間存取權限。 這些常數會在命名空間訪問許可權常數說明。 您可以使用 WMI 控制件或以程式設計方式變更 WMI 命名空間的存取權。 如需詳細資訊,請參閱 變更安全性實體物件上的存取安全性。

WMI 會稽核下列清單中所列之所有訪問許可權的變更,但遠端啟用許可權除外。 這些變更會記錄為對應至編輯安全性許可權的稽核成功或失敗。

Execute 方法

允許使用者在 WMI 類別上執行定義的方法。 對應至 WBEM_METHOD_EXECUTE 訪問許可權常數。

完整寫入

允許靜態和動態存取 WMI 類別和類別實例的完整讀取、寫入和刪除存取權。 對應至 WBEM_FULL_WRITE_REP 訪問許可權常數。

部分寫入

允許靜態 WMI 類別實例的寫入存取權。 對應至 WBEM_PARTIAL_WRITE_REP 訪問許可權常數。

提供者寫入

允許動態 WMI 類別實例的寫入存取權。 對應至 WBEM_WRITE_PROVIDER 訪問許可權常數。

啟用帳戶

允許 WMI 類別實例的讀取存取權。 對應至 WBEM_ENABLE 訪問許可權常數。

遠端啟用

允許遠端電腦存取命名空間。 對應至 WBEM_REMOTE_ACCESS 訪問許可權常數。

讀取安全性

允許唯讀存取 DACL 設定。 對應至 READ_CONTROL 訪問許可權常數。

編輯安全性

允許 DACL 設定的寫入存取權。 對應至 WRITE_DAC 訪問許可權常數。

WMI 命名空間的預設許可權

預設安全組為:

  • 已驗證的使用者
  • LOCAL SERVICE
  • NETWORK SERVICE
  • 管理員 istrators (在本機電腦上)

已驗證使用者、LOCAL SERVICE 和 NETWORK SERVICE 的預設存取權限如下:

  • Execute 方法
  • 完整寫入
  • 啟用帳戶

管理員 istrators 群組中的帳戶具有其所有可用許可權,包括編輯安全性描述元。 不過,由於用戶帳戶控制 (UAC),WMI 控件或腳本必須在提高安全性下執行。 如需詳細資訊,請參閱 用戶帳戶控制和 WMI

有時候腳本或應用程式必須啟用系統管理員許可權,例如 SeSecurityPrivilege 才能執行作業。 例如,腳本可以執行不含 SeSecurityPrivilege 之Win32_Printer類別的 GetSecurityDescriptor 方法,並在印表機物件安全性描述元的任意訪問控制清單 (DACL)取得安全性資訊。 不過,除非 有 SeSecurityPrivilege 許可權可供使用並啟用帳戶,否則 SACL 資訊不會傳回腳本。 如果帳戶沒有可用的許可權,則無法啟用它。 如需詳細資訊,請參閱 執行特殊許可權作業

關於 WMI