LsaRemoveAccountRights 関数 (ntsecapi.h)

LsaRemoveAccountRights 関数は、アカウントから 1 つ以上の特権を削除します。 削除する特権を指定することも、フラグを設定してすべての特権を削除することもできます。 すべての特権を削除すると、関数によってアカウントが削除されます。 アカウントが保持していない特権を指定した場合、関数はそれらを無視します。

構文

NTSTATUS LsaRemoveAccountRights(
  [in] LSA_HANDLE          PolicyHandle,
  [in] PSID                AccountSid,
  [in] BOOLEAN             AllRights,
  [in] PLSA_UNICODE_STRING UserRights,
  [in] ULONG               CountOfRights
);

パラメーター

[in] PolicyHandle

Policy オブジェクトへのハンドル。 ハンドルには、POLICY_LOOKUP_NAMESアクセス権が必要です。 詳細については、「 ポリシー オブジェクト ハンドルを開く」を参照してください。

[in] AccountSid

特権が削除されるアカウントの セキュリティ識別子 (SID) へのポインター。

[in] AllRights

TRUE の場合、関数はすべての特権を削除し、アカウントを削除します。 この場合、関数は UserRights パラメーターを無視します。 FALSE の場合、関数は UserRights パラメーターで指定された特権を削除します。

[in] UserRights

LSA_UNICODE_STRING構造体の配列へのポインター。 各構造体には、アカウントから削除する特権の名前が含まれています。 特権名の一覧については、「 特権定数」を参照してください。

[in] CountOfRights

UserRights 配列内の要素の数を指定します。

戻り値

関数が成功した場合、戻り値はSTATUS_SUCCESS。

関数が失敗した場合、戻り値は NTSTATUS コードであり、次の値のいずれか、または LSA ポリシー関数の戻り値のいずれかになります。

値 説明
STATUS_NO_SUCH_PRIVILEGE
特権名の 1 つが無効です。
STATUS_INVALID_PARAMETER
UserRights パラメーターが NULL で、AllRights パラメーターが FALSE であることを示します。
 

LsaNtStatusToWinError 関数を使用して、NTSTATUS コードを Windows エラー コードに変換できます。

要件

要件 値
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー ntsecapi.h
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

LSA_UNICODE_STRING

LsaAddAccountRights

LsaEnumerateAccountRights