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

GetSecurityDescriptor 方法會傳回控制服務存取權的安全性描述項。 描述項會以 Win32_SecurityDescriptor 實例傳回。

語法

uint32 GetSecurityDescriptor(
  [out] Win32_SecurityDescriptor Descriptor
);

參數

描述元 [out]

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

傳回值

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

「成功」

0

已接受要求。

1

不支援此要求。

拒絕存取

2

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

3

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

4

要求的控制程式代碼無效,或服務無法接受。

5

要求的控制程式代碼無法傳送至服務,因為服務的狀態 ( Win32_BaseService State 屬性) 等於 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) 和 系統存取控制清單 (SACL)。 如需詳細資訊,請參閱 存取控制清單

如果在取得安全性描述元時未授與或啟用 SeSecurityPrivilege ,則只會在傳回的安全性描述元中傳回 DACL。 如需詳細資訊,請參閱 許可權常數 和執行 特殊許可權作業

範例

在 VBScript 中擷取安全性描述元時,請務必「安全性」並執行為管理員,如下列程式碼片段所示。 否則,您的程式碼可能會擲回許可權錯誤。

Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate, (Security)}!\\" & strComputer & "\root\cimv2")

同樣地,在 VB.NET 中,請務必設定 「EnablePrivileges = True」,並將應用程式執行為管理員。

Scope = New ManagementScope([String].Format("\\{0}\root\CIMV2", ComputerName), Nothing)
Scope.Options.EnablePrivileges = True

需求

需求
最低支援的用戶端
Windows Vista
最低支援的伺服器
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另請參閱

Win32_Service

Privilege 常數

WMI 安全性描述元物件

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

使用者帳戶控制和 WMI