/// <summary>Gets or sets the enablement of the specified privilege.</summary>
 /// <value><c>true</c> if the specified privilege is enabled; otherwise <c>false</c>.</value>
 /// <param name="right">The name of the privilege.</param>
 /// <returns>A value that represents the enablement of the specified privilege.</returns>
 public bool this[LsaSecurityAccessRights right]
 {
     get { return((ctrl.GetSystemAccess(ctrl.GetAccount(user)) & right) == right); }
     set
     {
         var  hAcct   = ctrl.GetAccount(user, LsaAccountAccessMask.View | LsaAccountAccessMask.AdjustSystemAccess);
         var  cur     = ctrl.GetSystemAccess(hAcct);
         bool hasFlag = cur.HasFlag(right);
         if ((hasFlag && value) || (!hasFlag && !value))
         {
             return;
         }
         if (value)
         {
             cur |= right;
         }
         else
         {
             cur &= ~right;
         }
         ctrl.SetSystemAccess(hAcct, cur);
     }
 }
        private void SetSystemAccess(SafeLsaHandle hAcct, LsaSecurityAccessRights rights)
        {
            LsaSecurityAccessRights cur = GetSystemAccess(hAcct);

            ThrowIfLsaError(LsaSetSystemAccessAccount(hAcct, (int)(cur | rights)));
        }