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 |
|
DLL |
|