設定命名空間安全性描述元
C++在完整系統管理員帳戶下執行的應用程式和腳本都可以變更命名空間安全性描述元。
命名空間安全性描述元
每個WMI 命名空間都有 安全性描述元,這可讓每個命名空間都有唯一的安全性設定,可決定誰可以存取命名空間數據和方法。 如需 WMI 存取安全性的詳細資訊,請參閱 WMI 可保護的物件存取。 WMI 命名空間的存取 描述 WMI 命名空間的預設安全性設定,以及 WMI 中的安全性稽核。
您可以透過下列方式,為 WMI (CIM) 存放庫中的每個 WMI 命名空間設定帳戶權限:
- 在MOF檔案中建立命名空間時。 如需詳細資訊,請參閱在建立命名空間時 設定命名空間安全性。
- 使用 WMI 控制件手動。 如需詳細資訊,請參閱 使用 WMI 控制項設定命名空間安全性。
- 以程序設計方式呼叫 __SystemSecurity 類別的方法。
與每個命名空間相關聯的 __SystemSecurity 物件下列方法可讓您讀取或變更命名空間的安全性。
-
將 許可權 參數設定為位圖,每個位對應至訪問許可權。
-
取得使用者所連接之命名空間的安全性描述項。 這個方法會傳回二進位位元組數位格式的安全性描述元。 如果您要撰寫腳本,請使用 GetSecurityDescriptor 方法。
-
設定使用者所連線之命名空間的安全性描述元 (SD)。 此方法需要二進位字節陣列格式的安全性描述元。 如果您要撰寫腳本,請使用 SetSecurityDescriptor 方法。
-
取得控制此實例所關聯的 WMI 命名空間存取權限的安全描述元 __SystemSecurity。 安全性描述元會以__SecurityDescriptor實例的形式傳回。
-
寫入可控制印表機存取權的安全性描述項更新版本。 安全性描述元是由 __SecurityDescriptor實例表示。
-
取得執行過時 Windows 版本之電腦上個別使用者的遠端訪問許可權,其中無法使用透過 Windows 安全性描述元的訪問控制。
-
設定執行過時 Windows 版本之電腦上的個別使用者清單的遠端訪問許可權,其中無法使用透過 Windows 安全性描述元進行存取控制。
如果您要撰寫文稿,請使用 GetSecurityDescriptor 和 SetSecurityDescriptor。 您可以使用 Win32_SecurityDescriptorHelper 類別的方法來改變安全性描述元。
如果您是在 C++ 中進行程式設計,可以使用 安全性描述元定義語言(SDDL)來操作二進位安全性描述元,以及使用轉換方法 ConvertSecurityDescriptorToStringSecurityDescriptor 和 ConvertStringSecurityDescriptorToSecurityDescriptor。
請注意,從 Windows Vista 開始,使用者帳戶控制 (UAC)會影響 WMI 資料的存取,以及可使用 WMI 控制台設定的項目。 如需詳細資訊,請參閱 使用者帳戶控制和 WMI。
相關主題