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