SetSecurityDescriptor 方法會寫入已更新的安全性描述元版本,以控制您連接的 WMI 命名空間存取權。 安全性描述元是由 __SecurityDescriptor實例表示。 如需詳細資訊,請參閱 在安全性實體物件上變更存取安全性。
語法
uint32 SetSecurityDescriptor(
[in] __SecurityDescriptor Descriptor
);
參數
-
描述元 [in]
-
與 WMI 命名空間相關聯的安全性描述元。
返回值
傳回下列清單中所列的其中一個值,或指出錯誤的不同值。 如需詳細資訊,請參閱 WMI 傳回碼 或 WbemErrorEnum。
-
0
-
成功完成。
-
2
-
用戶無法存取要求的資訊。
-
8
-
未知的失敗。
-
9
-
用戶沒有執行方法的適當許可權。
-
21
-
方法呼叫中指定的參數無效。
備註
Win32_SecurityDescriptor實例代表SECURITY_DESCRIPTOR_CONTROL數據類型,並包含選擇性訪問控制清單 (DACL) 和系統訪問控制清單 (SACL)。 如需詳細資訊,請參閱 訪問控制清單。
如果在取得安全性描述元時未授與或啟用 SeSecurityPrivilege ,則只會在傳回的安全性描述元中傳回 DACL。 如需詳細資訊,請參閱 許可權常數 和執行 特殊許可權作業。
呼叫此方法時,您可以在 Win32_SecurityDescriptor 實例中同時更新 DACL 和 SACL,但您也可以只更新 DACL 或 SACL。
SECURITY_DESCRIPTOR_CONTROL中的下列值 會 決定是否更新 DACL 或 SACL 或兩者。
SE_DACL_PRESENT
表示應該更新 DACL。 如果未設定,則 WMI 會保留 DACL 的原始值。
SE_SACL_PRESENT
表示應該更新 SACL。 如果未設定,則 WMI 會保留 SACL 的原始值。 若要更新 SACL,帳戶必須啟用 SeSecurityPrivilege 許可權。 針對腳本,許可權名稱為 SeSecurityPrivilege。 如需詳細資訊,請參閱 Privilege Constants。
如果群組信任者和擁有者信任項屬性不是 NULL,則會更新它們。 否則,WMI 會保留原始值。 如需詳細資訊,請參閱 WMI 安全性描述元物件。
當呼叫這個方法時,新的 SACL 為 NULL 時,目標安全性實體物件上的安全性描述元 SACL 會保持不變。
需求
| 要求 | 價值觀 |
|---|---|
| 最低支援的用戶端 |
Windows Vista |
| 最低支援的伺服器 |
Windows Server 2008 |
| Namespace |
所有 WMI 命名空間 |