Win32_Service 類別的 SetSecurityDescriptor 方法, (CIMWin32 WMI 提供者)

SetSecurityDescriptor方法會撰寫更新版本的安全性描述元,以控制服務的存取權。

語法

uint32 SetSecurityDescriptor(
  [in] Win32_SecurityDescriptor Descriptor
);

參數

描述元 [in]

與服務相關聯的安全描述項。

傳回值

傳回下列清單中所列的其中一個值,或傳回不同的值來表示錯誤。 如需其他錯誤碼,請參閱 WMI 錯誤常數WbemErrorEnum。 如需一般 HRESULT 值,請參閱 系統錯誤碼

「成功」

0

要求已被接受。

1

不支援此要求。

拒絕存取

2

使用者沒有必要的存取權。

3

無法停止此服務,因為與它相依的其他服務正在執行中。

4

要求的控制碼無效,或是服務不接受此控制碼。

5

無法將所要求的控制程式代碼傳送至服務,因為服務的狀態 (Win32_BaseServiceState 屬性) 等於 0、1 或 2。

6

尚未啟動服務。

7

服務並未及時回應啟動要求。

未知的失敗

8

啟動服務時發生未知的失敗。

許可權遺失

9

找不到服務可執行檔的目錄路徑。

10

服務已在執行中。

11

要加入新服務的資料庫已被鎖定。

12

此服務所依賴的相依性已從系統中移除。

13

服務在相依的服務中找不到所需的服務。

14

已經從系統中停用服務。

15

此服務未通過驗證,無法在系統上執行。

16

正在從系統移除此服務。

17

服務沒有執行執行緒。

18

服務啟動時具有迴圈相依性。

19

服務以相同名稱執行。

20

服務名稱的字元無效。

參數不正確

21

不正確參數已傳遞至服務。

22

此服務執行所在的帳戶無效,或缺少執行服務的許可權。

23

服務存在於系統可使用之服務的資料庫中。

24

服務目前在系統中暫停。

其他

22 4294967295

備註

Win32_SecurityDescriptor實例代表SECURITY_DESCRIPTOR_CONTROL資料類型,並包含 DACL) (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
命名空間
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另請參閱

Win32_Service

許可權常數

WMI 安全性描述元物件

變更安全性實體物件的存取安全性

使用者帳戶控制和 WMI