You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

154 lines
4.7 KiB

  1. // <copyright file="Enums.cs" company="Nick Lowe">
  2. // Copyright © Nick Lowe 2009
  3. // </copyright>
  4. // <author>Nick Lowe</author>
  5. // <email>nick@int-r.net</email>
  6. // <url>http://processprivileges.codeplex.com/</url>
  7. namespace ProcessPrivileges
  8. {
  9. using System.Diagnostics.CodeAnalysis;
  10. /// <summary>Result from a privilege adjustment.</summary>
  11. public enum AdjustPrivilegeResult
  12. {
  13. /// <summary>Privilege not modified.</summary>
  14. None,
  15. /// <summary>Privilege modified.</summary>
  16. PrivilegeModified
  17. }
  18. /// <summary>Privilege determining the type of system operations that can be performed.</summary>
  19. public enum Privilege
  20. {
  21. /// <summary>Privilege to replace a process-level token.</summary>
  22. AssignPrimaryToken,
  23. /// <summary>Privilege to generate security audits.</summary>
  24. Audit,
  25. /// <summary>Privilege to backup files and directories.</summary>
  26. Backup,
  27. /// <summary>Privilege to bypass traverse checking.</summary>
  28. ChangeNotify,
  29. /// <summary>Privilege to create global objects.</summary>
  30. CreateGlobal,
  31. /// <summary>Privilege to create a pagefile.</summary>
  32. CreatePageFile,
  33. /// <summary>Privilege to create permanent shared objects.</summary>
  34. CreatePermanent,
  35. /// <summary>Privilege to create symbolic links.</summary>
  36. CreateSymbolicLink,
  37. /// <summary>Privilege to create a token object.</summary>
  38. CreateToken,
  39. /// <summary>Privilege to debug programs.</summary>
  40. Debug,
  41. /// <summary>Privilege to enable computer and user accounts to be trusted for delegation.</summary>
  42. EnableDelegation,
  43. /// <summary>Privilege to impersonate a client after authentication.</summary>
  44. Impersonate,
  45. /// <summary>Privilege to increase scheduling priority.</summary>
  46. IncreaseBasePriority,
  47. /// <summary>Privilege to adjust memory quotas for a process.</summary>
  48. IncreaseQuota,
  49. /// <summary>Privilege to increase a process working set.</summary>
  50. IncreaseWorkingSet,
  51. /// <summary>Privilege to load and unload device drivers.</summary>
  52. LoadDriver,
  53. /// <summary>Privilege to lock pages in memory.</summary>
  54. LockMemory,
  55. /// <summary>Privilege to add workstations to domain.</summary>
  56. MachineAccount,
  57. /// <summary>Privilege to manage the files on a volume.</summary>
  58. ManageVolume,
  59. /// <summary>Privilege to profile single process.</summary>
  60. ProfileSingleProcess,
  61. /// <summary>Privilege to modify an object label.</summary>
  62. [SuppressMessage(
  63. "Microsoft.Naming",
  64. "CA1704:IdentifiersShouldBeSpelledCorrectly",
  65. Justification = "Spelling is correct.",
  66. MessageId = "Relabel")]
  67. Relabel,
  68. /// <summary>Privilege to force shutdown from a remote system.</summary>
  69. RemoteShutdown,
  70. /// <summary>Privilege to restore files and directories.</summary>
  71. Restore,
  72. /// <summary>Privilege to manage auditing and security log.</summary>
  73. Security,
  74. /// <summary>Privilege to shut down the system.</summary>
  75. Shutdown,
  76. /// <summary>Privilege to synchronize directory service data.</summary>
  77. SyncAgent,
  78. /// <summary>Privilege to modify firmware environment values.</summary>
  79. SystemEnvironment,
  80. /// <summary>Privilege to profile system performance.</summary>
  81. SystemProfile,
  82. /// <summary>Privilege to change the system time.</summary>
  83. SystemTime,
  84. /// <summary>Privilege to take ownership of files or other objects.</summary>
  85. TakeOwnership,
  86. /// <summary>Privilege to act as part of the operating system.</summary>
  87. TrustedComputerBase,
  88. /// <summary>Privilege to change the time zone.</summary>
  89. TimeZone,
  90. /// <summary>Privilege to access Credential Manager as a trusted caller.</summary>
  91. TrustedCredentialManagerAccess,
  92. /// <summary>Privilege to remove computer from docking station.</summary>
  93. Undock,
  94. /// <summary>Privilege to read unsolicited input from a terminal device.</summary>
  95. UnsolicitedInput
  96. }
  97. /// <summary>State of a <see cref="Privilege"/>, derived from <see cref="PrivilegeAttributes"/>.</summary>
  98. public enum PrivilegeState
  99. {
  100. /// <summary>
  101. /// Privilege is disabled.
  102. /// </summary>
  103. Disabled,
  104. /// <summary>
  105. /// Privilege is enabled.
  106. /// </summary>
  107. Enabled,
  108. /// <summary>
  109. /// Privilege is removed.
  110. /// </summary>
  111. Removed
  112. }
  113. }