/// <summary>
 /// Get SIDs associated with an account right.
 /// </summary>
 /// <param name="account_right">The name of the account right, such as SeImpersonatePrivilege.</param>
 /// <param name="throw_on_error">True to throw on error.</param>
 /// <returns>The list of SIDs assigned to the account right.</returns>
 public static NtResult <IEnumerable <Sid> > GetAccountRightSids(string account_right, bool throw_on_error)
 {
     return(AccountRight.GetSids(null, account_right, throw_on_error).Map <IEnumerable <Sid> >(s => s.AsReadOnly()));
 }
 /// <summary>
 /// Remove account rights from a user.
 /// </summary>
 /// <param name="sid">The user SID to remove.</param>
 /// <param name="account_rights">The list of account rights.</param>
 /// <param name="throw_on_error">True to throw on error.</param>
 /// <returns>The NT status code.</returns>
 public static NtStatus RemoveAccountRights(Sid sid, IEnumerable <string> account_rights, bool throw_on_error)
 {
     return(AccountRight.RemoveAccountRights(null, sid, false, account_rights, throw_on_error));
 }
 /// <summary>
 /// Get account rights assigned to a SID.
 /// </summary>
 /// <param name="sid">The SID to query.</param>
 /// <param name="throw_on_error">True to throw on error.</param>
 /// <returns>The list of account rights.</returns>
 public static NtResult <IEnumerable <AccountRight> > GetAccountRights(Sid sid, bool throw_on_error)
 {
     return(AccountRight.GetAccountRights(null, sid, throw_on_error));
 }