LsaRemoveAccountRights function

The LsaRemoveAccountRights function removes one or more privileges from an account. You can specify the privileges to be removed, or you can set a flag to remove all privileges. When you remove all privileges, the function deletes the account. If you specify privileges not held by the account, the function ignores them.

Syntax

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

Parameters

PolicyHandle

A handle to a Policy object. The handle must have the POLICY_LOOKUP_NAMES access right. For more information, see Opening a Policy Object Handle.

AccountSid

Pointer to the security identifier (SID) of the account from which the privileges are removed.

AllRights

If TRUE, the function removes all privileges and deletes the account. In this case, the function ignores the UserRights parameter. If FALSE, the function removes the privileges specified by the UserRights parameter.

UserRights

Pointer to an array of LSA_UNICODE_STRING structures. Each structure contains the name of a privilege to be removed from the account. For a list of privilege names, see Privilege Constants.

CountOfRights

Specifies the number of elements in the UserRights array.

Return value

If the function succeeds, the return value is STATUS_SUCCESS.

If the function fails, the return value is an NTSTATUS code, which can be one of the following values or one of the LSA Policy Function Return Values.

Value Description
STATUS_NO_SUCH_PRIVILEGE
One of the privilege names is not valid.
STATUS_INVALID_PARAMETER
Indicates the UserRights parameter was NULL and the AllRights parameter was FALSE.
 

You can use the LsaNtStatusToWinError function to convert the NTSTATUS code to a Windows error code.

Requirements

   
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header ntsecapi.h
Library Advapi32.lib
DLL Advapi32.dll

See also

LSA_UNICODE_STRING

LsaAddAccountRights

LsaEnumerateAccountRights