// // Copyright © Nick Lowe 2009 // // Nick Lowe // nick@int-r.net // http://processprivileges.codeplex.com/ namespace ProcessPrivileges { using System.Diagnostics.CodeAnalysis; /// Result from a privilege adjustment. public enum AdjustPrivilegeResult { /// Privilege not modified. None, /// Privilege modified. PrivilegeModified } /// Privilege determining the type of system operations that can be performed. public enum Privilege { /// Privilege to replace a process-level token. AssignPrimaryToken, /// Privilege to generate security audits. Audit, /// Privilege to backup files and directories. Backup, /// Privilege to bypass traverse checking. ChangeNotify, /// Privilege to create global objects. CreateGlobal, /// Privilege to create a pagefile. CreatePageFile, /// Privilege to create permanent shared objects. CreatePermanent, /// Privilege to create symbolic links. CreateSymbolicLink, /// Privilege to create a token object. CreateToken, /// Privilege to debug programs. Debug, /// Privilege to enable computer and user accounts to be trusted for delegation. EnableDelegation, /// Privilege to impersonate a client after authentication. Impersonate, /// Privilege to increase scheduling priority. IncreaseBasePriority, /// Privilege to adjust memory quotas for a process. IncreaseQuota, /// Privilege to increase a process working set. IncreaseWorkingSet, /// Privilege to load and unload device drivers. LoadDriver, /// Privilege to lock pages in memory. LockMemory, /// Privilege to add workstations to domain. MachineAccount, /// Privilege to manage the files on a volume. ManageVolume, /// Privilege to profile single process. ProfileSingleProcess, /// Privilege to modify an object label. [SuppressMessage( "Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", Justification = "Spelling is correct.", MessageId = "Relabel")] Relabel, /// Privilege to force shutdown from a remote system. RemoteShutdown, /// Privilege to restore files and directories. Restore, /// Privilege to manage auditing and security log. Security, /// Privilege to shut down the system. Shutdown, /// Privilege to synchronize directory service data. SyncAgent, /// Privilege to modify firmware environment values. SystemEnvironment, /// Privilege to profile system performance. SystemProfile, /// Privilege to change the system time. SystemTime, /// Privilege to take ownership of files or other objects. TakeOwnership, /// Privilege to act as part of the operating system. TrustedComputerBase, /// Privilege to change the time zone. TimeZone, /// Privilege to access Credential Manager as a trusted caller. TrustedCredentialManagerAccess, /// Privilege to remove computer from docking station. Undock, /// Privilege to read unsolicited input from a terminal device. UnsolicitedInput } /// State of a , derived from . public enum PrivilegeState { /// /// Privilege is disabled. /// Disabled, /// /// Privilege is enabled. /// Enabled, /// /// Privilege is removed. /// Removed } }