Share via


__SystemSecurity クラスの SetSecurityDescriptor メソッド

SetSecurityDescriptor メソッドは、接続先の WMI 名前空間へのアクセスを制御するセキュリティ記述子の更新バージョンを記述します。 セキュリティ記述子は、__SecurityDescriptor のインスタンスによって表されます。 詳細については、「セキュリティ保護可能なオブジェクトのアクセス セキュリティの変更」を参照してください。

構文

uint32 SetSecurityDescriptor(
  [in] __SecurityDescriptor Descriptor
);

パラメーター

Descriptor [in]

WMI 名前空間に関連付けられたセキュリティ記述子です。

戻り値

次の一覧に記載されている値の 1 つ、またはエラーを示す別の値を返します。 詳細については、「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 です。 詳細については、「特権定数」を参照してください。

グループ トラスティと所有者トラスティ プロパティが NULL でない場合、それらは更新されます。 それ以外の場合、WMI は元の値を保持します。 詳細については、「WMI セキュリティ記述子オブジェクト」を参照してください。

このメソッドの呼び出しで新しい SACL が NULL の場合、ターゲットのセキュリティ保護可能オブジェクトのセキュリティ記述子 SACL は変更されません。

要件

要件
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
名前空間
すべての WMI 名前空間

関連項目

__SystemSecurity

名前空間セキュリティ記述子の設定