<div class="content" name="LsarRemoveAccountRights" uuid="33613a17-65c2-403d-83e9-edbff71bc3de"><p>The LsarRemoveAccountRights method is invoked to remove
rights from an <span><a href="31ca2a31-0be4-4773-bcef-05ad6cd3ccfb#gt_b76eee27-064e-461b-81a9-fbf41e49928b" data-linktype="relative-path">account object</a></span>.</p><dl>
<dd>
<div><pre> NTSTATUS LsarRemoveAccountRights(
   [in] LSAPR_HANDLE PolicyHandle,
   [in] PRPC_SID AccountSid,
   [in] unsigned char AllRights,
   [in] PLSAPR_USER_RIGHT_SET UserRights
 );
</pre></div>
</dd></dl><p><b>PolicyHandle: </b>An <span><a href="31ca2a31-0be4-4773-bcef-05ad6cd3ccfb#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span> context handle
obtained from either <span><a href="2a482ccf-1f89-4693-8594-855ff738ae8a" data-linktype="relative-path">LsarOpenPolicy</a></span> or <span><a href="9456a963-7c21-4710-af77-d0a2f5a72d6b" data-linktype="relative-path">LsarOpenPolicy2</a></span>.</p><p><b>AccountSid: </b>A <span><a href="31ca2a31-0be4-4773-bcef-05ad6cd3ccfb#gt_e5213722-75a9-44e7-b026-8e4833f0d350" data-linktype="relative-path">security descriptor</a></span>
of an account object.</p><p><b>AllRights: </b>If this field is not set to 0, all
rights will be removed.</p><p><b>UserRights: </b>A set of rights to remove from the
account.</p><p><b>Return Values: </b>The following is a summary of
the return values that an implementation MUST return, as specified by the
message processing that follows.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>0x00000000 STATUS_SUCCESS</td>
  <td>The request was successfully completed.</td>
 </tr><tr>
  <td>0xC0000022 STATUS_ACCESS_DENIED</td>
  <td>The caller does not have the permissions to perform this operation.</td>
 </tr><tr>
  <td>0xC000000D STATUS_INVALID_PARAMETER</td>
  <td>One or more of the supplied parameters was invalid.</td>
 </tr><tr>
  <td>0xC0000060 STATUS_NO_SUCH_PRIVILEGE</td>
  <td>The rights supplied were not recognized.</td>
 </tr><tr>
  <td>0xC0000034 STATUS_OBJECT_NAME_NOT_FOUND</td>
  <td>An account with this SID does not exist.</td>
 </tr><tr>
  <td>0xC0000008 STATUS_INVALID_HANDLE</td>
  <td>PolicyHandle is not a valid handle.</td>
 </tr><tr>
  <td>0xC00000BB STATUS_NOT_SUPPORTED</td>
  <td>The operation is not supported by the server.</td>
 </tr></tbody></table>
</dd></dl><p>Processing:</p><p>This message takes four arguments:</p><p><i>PolicyHandle</i>: An open handle to the policy object. If
the handle is not a valid context handle to the policy object or <i>PolicyHandle</i>.HandleType
does not equal &#34;Policy&#34;, the server MUST return
STATUS_INVALID_HANDLE. The server MUST verify that <i>PolicyHandle</i> grants
access as specified in section <span><a href="d1c2802a-70d5-4f81-843c-6523ab0c5e03" data-linktype="relative-path">3.1.4.2.2</a></span> with
RequiredAccess set to ACCOUNT_ADJUST_PRIVILEGES | ACCOUNT_ADJUST_SYSTEM_ACCESS
| ACCOUNT_VIEW | DELETE.</p><p>If IsRequestorAnonymous() returns TRUE (section <span><a href="5d50b55f-e9c7-4af6-bf85-02e8043f66ea" data-linktype="relative-path">3.1.4.2.3</a></span>)
and LsaRestrictAnonymous is set to TRUE, the call MUST fail with
STATUS_OBJECT_NAME_NOT_FOUND.</p><p><i>AccountSid</i>: The security identifier of the account to
modify. The server MUST verify that such an account exists in its database and
fail the request with STATUS_OBJECT_NAME_NOT_FOUND otherwise.</p><p><i>AllRights</i>: If nonzero, all system access rights and <span><a href="31ca2a31-0be4-4773-bcef-05ad6cd3ccfb#gt_d8092e10-b227-4b44-b015-511bb8178940" data-linktype="relative-path">privileges</a></span>
will be stripped from the account.</p><p><i>UserRights</i>: A set of rights and privileges to remove
from the account. If the server does not recognize any of the rights, server
MUST return STATUS_NO_SUCH_PRIVILEGE.</p><p>The server MUST NOT allow removal of &#34;SeAuditPrivilege&#34;,
&#34;SeChangeNotifyPrivilege&#34;, &#34;SeImpersonatePrivilege&#34;, and
&#34;SeCreateGlobalPrivilege&#34; from accounts represented with SIDs
&#34;S-1-5-19&#34; and &#34;S-1-5-20&#34;. The request MUST be rejected
with STATUS_NOT_SUPPORTED.<a id="Appendix_A_Target_74"></a><a aria-label="Product behavior note 74" href="2a769a08-e023-459f-aebe-4fb3f595c0b7#Appendix_A_74" data-linktype="relative-path">&lt;74&gt;</a></p><p>If the resulting set of access rights and privileges is
empty, the server MUST delete the account object from its database.</p></div>