示例#1
0
        public static bool GetLuidInfo(SE_PRIVILEGE _requestedPrivilege, out SYSTEM_LUID _luid)
        {
            SYSTEM_LUID _luidInternal = new SYSTEM_LUID();
            string      _sePrivilege  = SE_PRIVILEGE_STR(_requestedPrivilege);

            try
            {
                if (_sePrivilege.Length == 0)
                {
                    throw new InvalidEnumArgumentException("SE_PRIVILEGE INVALID");
                }

                if (_LookupPrivilegeValue(null, _sePrivilege, ref _luidInternal))
                {
                    _luid = _luidInternal;
                    return(true);
                }

                else
                {
                    var win32Exception   = new Win32Exception();
                    var exceptionMessage = string.Format("GetLuidInfo failed. REQUESTED: {0}", _sePrivilege);
                    throw new InvalidOperationException(exceptionMessage, win32Exception);
                }
            }
            catch (Exception e)
            {
                var exceptionMessage = string.Format("Internal Exception: ERROR REQUESTING: {0}", _sePrivilege);
                throw new InvalidOperationException(exceptionMessage, e);
            }
        }
示例#2
0
        public static string SE_PRIVILEGE_STR(SE_PRIVILEGE sPrivilege)
        {
            switch (sPrivilege)
            {
            case SE_PRIVILEGE.SE_CREATE_TOKEN_PRIVILEGE:
                return("SeCreateTokenPrivilege");

            case SE_PRIVILEGE.SE_ASSIGN_PRIMARY_TOKEN_PRIVILEGE:
                return("SeAssignPrimaryTokenPrivilege");

            case SE_PRIVILEGE.SE_LOCK_MEMORY_PRIVILEGE:
                return("SeLockMemoryPrivilege");

            case SE_PRIVILEGE.SE_INCREASE_QUOTA_PRIVILEGE:
                return("SeIncreaseQuotaPrivilege");

            case SE_PRIVILEGE.SE_UNSOLICITED_INPUT_PRIVILEGE:
                return("SeUnsolicitedInputPrivilege");

            case SE_PRIVILEGE.SE_MACHINE_ACCOUNT_PRIVILEGE:
                return("SeMachineAccountPrivilege");

            case SE_PRIVILEGE.SE_MACHINE_TCB_PRIVILEGE:
                return("SeMachineTcbPrivilege");

            case SE_PRIVILEGE.SE_SECURITY_PRIVILEGE:
                return("SeSecurityPrivilege");

            case SE_PRIVILEGE.SE_TAKE_OWNERSHIP_PRIVILEGE:
                return("SeTakeOwnershipPrivilege");

            case SE_PRIVILEGE.SE_LOAD_DRIVER_PRIVILEGE:
                return("SeLoadDriverPrivilege");

            case SE_PRIVILEGE.SE_SYSTEM_PROFILE_PRIVILEGE:
                return("SeSystemProfilePrivilege");

            case SE_PRIVILEGE.SE_SYSTEM_TIME_PRIVILEGE:
                return("SeSystemTimePrivelege");

            case SE_PRIVILEGE.SE_PROFILE_SINGLE_PROCESS_PRIVILEGE:
                return("SeProfileSingleProcessPrivilege");

            case SE_PRIVILEGE.SE_INCREASE_BASE_PRIORITY_PRIVILEGE:
                return("SeIncreaseBasePriorityPrivilege");

            case SE_PRIVILEGE.SE_CREATE_PAGEFILE_PRIVILEGE:
                return("SeCreatePagefilePrivilege");

            case SE_PRIVILEGE.SE_CREATE_PERMANENT_PRIVILEGE:
                return("SeCreatePermanentPrivilege");

            case SE_PRIVILEGE.SE_BACKUP_PRIVILEGE:
                return("SeBackupPrivilege");

            case SE_PRIVILEGE.SE_RESTORE_PRIVILEGE:
                return("SeRestorePrivilege");

            case SE_PRIVILEGE.SE_SHUTDOWN_PRIVILEGE:
                return("SeShutdownPrivilege");

            case SE_PRIVILEGE.SE_DEBUG_PRIVILEGE:
                return("SeDebugPrivilege");

            case SE_PRIVILEGE.SE_AUDIT_PRIVILEGE:
                return("SeAuditPrivilege");

            case SE_PRIVILEGE.SE_SYSTEM_ENVIRONMENT_PRIVILEGE:
                return("SeSystemEnvironmentPrivilege");

            case SE_PRIVILEGE.SE_CHANGE_NOTIFY_PRIVILEGE:
                return("SeChangeNotifyPrivilege");

            case SE_PRIVILEGE.SE_REMOTE_SHUTDOWN_PRIVILEGE:
                return("SeRemoteShutdownPrivilege");

            case SE_PRIVILEGE.SE_UNLOCK_PRIVILEGE:
                return("SeUnlockPrivilege");

            case SE_PRIVILEGE.SE_SYNC_AGENT_PRIVILEGE:
                return("SeSyncAgentPrivilege");

            case SE_PRIVILEGE.SE_ENABLE_DELEGATION_PRIVILEGE:
                return("SeEnableDelegationPrivilege");

            case SE_PRIVILEGE.SE_MANAGE_VOLUME_PRIVILEGE:
                return("SeManageVolumePrivilege");

            case SE_PRIVILEGE.SE_IMPERSONATE_PRIVILEGE:
                return("SeImpersonatePrivilege");

            case SE_PRIVILEGE.SE_CREATE_GLOBAL_PRIVILEGE:
                return("SeCreateGlobalPrivilege");

            case SE_PRIVILEGE.SE_TRUSTED_CRED_MAN_ACCESS_PRIVILEGE:
                return("SeTrustedCredManAccessPrivilege");

            case SE_PRIVILEGE.SE_RELABEL_PRIVILEGE:
                return("SeRelabelPrivilege");

            case SE_PRIVILEGE.SE_INCREASE_WORKING_SET_PRIVILEGE:
                return("SeIncreaseWorkingSetPrivilege");

            case SE_PRIVILEGE.SE_TIME_ZONE_PRIVILEGE:
                return("SeTimeZonePrivilege");

            case SE_PRIVILEGE.SE_CREATE_SYMBOLIC_LINK_PRIVILEGE:
                return("SeCreateSymbolicLinkPrivilege");

            default:
                return("");
            }
        }