次の方法で共有


__SystemSecurity クラスの SetSecurityDescriptor メソッド

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

構文

uint32 SetSecurityDescriptor(
  [in] __SecurityDescriptor 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
Namespace
すべての WMI 名前空間

こちらも参照ください

__SystemSecurity

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