設定命名空間安全性描述元

在完整系統管理員帳戶下執行的 C++ 應用程式和腳本都可以變更命名空間安全性描述元。

命名空間安全性描述元

每個 WMI 命名空間都有安全性描述元 ,可讓每個命名空間都有唯一 的安全性設定,以判斷誰可以存取命名空間資料和方法。 如需 WMI 存取安全性的詳細資訊,請參閱 存取 WMI 安全性實體物件 WMI 命名空間的 存取描述 WMI 命名空間的預設安全性設定,以及 WMI 中的安全性稽核。

您可以透過下列方式,為 WMI (CIM) 存放庫中的每個 WMI 命名空間設定帳戶許可權:

  • 在 MOF 檔案中建立命名空間時。 如需詳細資訊,請參閱 在建立 命名空間時設定命名空間安全性。
  • 使用 WMI 控制項手動。 如需詳細資訊,請參閱 使用 WMI 控制項 設定命名空間安全性。
  • 以程式設計方式呼叫 __SystemSecurity 類別的方法

與每個命名空間相關聯的__SystemSecurity 物件下列方法 可讓您讀取或變更命名空間的安全性。

GetCallerAccessRights

rights 參數設定為點陣圖,每個位對應至存取權限。

GetSD

取得使用者所連接之命名空間的安全性描述項。 這個方法會傳回二進位位元組陣列格式的安全性描述元。 如果您要撰寫腳本,請使用 GetSecurityDescriptor 方法。

SetSD

設定使用者所連線之命名空間的安全性描述元 (SD)。 此方法需要二進位位元組陣列格式的安全性描述元。 如果您要撰寫腳本,請使用 SetSecurityDescriptor 方法。

GetSecurityDescriptor

取得安全性描述項,控制與 實例相關聯之 WMI 命名空間的 存取權__SystemSecurity 。 安全性描述元會以 實例 傳回__SecurityDescriptor

SetSecurityDescriptor

寫入可控制印表機存取權的安全性描述項更新版本。 安全性描述元是由 __SecurityDescriptor 實例 表示。

Get9XUserList

取得執行過時 Windows 版本之電腦上個別使用者的遠端存取許可權,其中無法使用透過 Windows 安全性描述元的存取控制。

Set9XUserList

設定執行過時 Windows 版本之電腦上的個別使用者清單的遠端存取許可權,其中無法使用透過 Windows 安全性描述元進行存取控制。

如果您要撰寫腳本,請使用 GetSecurityDescriptor SetSecurityDescriptor 您可以使用 Win32_SecurityDescriptorHelper 類別的方法 來改變安全性描述元。

如果您是使用 C++ 進行程式設計,則可以使用 安全性描述元定義語言 (SDDL) 操作二進位安全性描述元,以及 ConvertSecurityDescriptorToStringSecurityDescriptor 和 ConvertStringSecurityDescriptorToSecurityDescriptor 的轉換方法。

請注意,從 Windows Vista 開始, 使用者帳戶控制 (UAC) 會影響 WMI 資料的存取,以及可使用 WMI 控制項 設定 的專案。 如需詳細資訊,請參閱 使用者帳戶控制和 WMI

保護 WMI 命名空間

WMI 安全性常數

存取 WMI 命名空間

WMI 安全性描述元物件