Win32_Service クラスの GetSecurityDescriptor メソッド (CIMWin32 WMI プロバイダー)
GetSecurityDescriptor メソッドは、サービスへのアクセスを制御するセキュリティ記述子を返します。 記述子は、Win32_SecurityDescriptor のインスタンスとして返されます。
構文
uint32 GetSecurityDescriptor(
[out] Win32_SecurityDescriptor Descriptor
);
パラメーター
-
Descriptor [out]
-
サービスに関連付けられたセキュリティ記述子です。
戻り値
次の一覧に記載されている値の 1 つ、またはエラーを示す別の値を返します。 その他のエラー コードについては、「WMI エラー定数」または「WbemErrorEnum」を参照してください。 一般的な HRESULT 値については、「システム エラー コード 」を参照してください。
-
成功
-
0
要求が受け入れられました。
-
1
要求はサポートされていません。
-
アクセスが拒否されました
-
2
ユーザーには必要なアクセス権がありませんでした。
-
3
そのサービスは、実行中の他のサービスが依存しているので停止できません。
-
4
要求された制御コードは有効でないか、またはサービスを受け入れ可能ではありません。
-
5
サービスの状態 (Win32_BaseService:State.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 でセキュリティ記述子を取得する場合は、次のコード スニペットに示すように、必ず "Security" を管理者として実行してください。 そうしないと、コードがアクセス許可エラーをスローする可能性があります。
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
必要条件
要件 | Value |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
名前空間 |
Root\CIMV2 |
MOF |
|
[DLL] |
|