/// <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[AccountLogonRights right] { get { return((ctrl.GetSystemAccess(ctrl.GetAccount(user)) & right) == right); } set { var hAcct = ctrl.GetAccount(user, LsaAccountAccessMask.ACCOUNT_VIEW | LsaAccountAccessMask.ACCOUNT_ADJUST_SYSTEM_ACCESS); var cur = ctrl.GetSystemAccess(hAcct); var hasFlag = cur.HasFlag(right); if ((hasFlag && value) || (!hasFlag && !value)) { return; } if (value) { cur |= right; } else { cur &= ~right; } ctrl.SetSystemAccess(hAcct, cur); } }