Types/AccessMask.ps1
|
<#
.SYNOPSIS Object-specific rights for files and folders. #> enum SpecificRights { FILE_READ_DATA = 0x1 FILE_LIST_DIRECTORY = 0x1 FILE_WRITE_DATA = 0x2 FILE_ADD_FILE = 0x2 FILE_APPEND_DATA = 0x4 FILE_ADD_SUBDIRECTORY = 0x4 FILE_READ_EA = 0x8 FILE_WRITE_EA = 0x10 FILE_EXECUTE = 0x20 FILE_TRAVERSE = 0x20 FILE_DELETE_CHILD = 0x40 FILE_READ_ATTRIBUTES = 0x80 FILE_WRITE_ATTRIBUTES = 0x100 } <# .SYNOPSIS Standard rights for any type of securable object (including files and folders). #> enum StandardRights { DELETE = 0x00010000 READ_CONTROL = 0x00020000 WRITE_DAC = 0x00040000 WRITE_OWNER = 0x00080000 SYNCHRONIZE = 0x00100000 } <# .SYNOPSIS Standard rights for any type of securable object (including files and folders). #> enum GenericRights { GENERIC_READ = 0x80000000 GENERIC_WRITE = 0x40000000 GENERIC_EXECUTE = 0x20000000 GENERIC_ALL = 0x10000000 } <# .SYNOPSIS These are the basic permissions, as displayed by the Windows File Explorer. We have also been calling these "composite rights". #> enum BasicPermissions { # 278 is obtained via: # [SpecificRights]::FILE_WRITE_DATA -bor # [SpecificRights]::FILE_APPEND_DATA -bor # [SpecificRights]::FILE_WRITE_EA -bor # [SpecificRights]::FILE_WRITE_ATTRIBUTES WRITE = 278 # 131209 is obtained via: # [SpecificRights]::FILE_READ_DATA -bor # [SpecificRights]::FILE_READ_EA -bor # [SpecificRights]::FILE_READ_ATTRIBUTES -bor # [StandardRights]::READ_CONTROL READ = 131209 # 131241 is obtained via: # [BasicPermissions]::READ -bor [SpecificRights]::FILE_EXECUTE READ_AND_EXECUTE = 131241 # 197055 is obtained via: # [BasicPermissions]::READ_AND_EXECUTE -bor # [BasicPermissions]::WRITE -bor # [StandardRights]::DELETE MODIFY = 197055 # 2032127 is obtained via: # [BasicPermissions]::MODIFY -bor # [SpecificRights]::FILE_DELETE_CHILD -bor # [StandardRights]::WRITE_DAC -bor # [StandardRights]::WRITE_OWNER -bor # [StandardRights]::SYNCHRONIZE FULL_CONTROL = 2032127 } <# .SYNOPSIS Standard rights combinations for any type of securable object (including files and folders). .LINK https://learn.microsoft.com/en-us/windows/win32/secauthz/standard-access-rights #> enum StandardRightsCombination { # 2031616 is obtained via: # [StandardRights]::DELETE -bor # [StandardRights]::READ_CONTROL -bor # [StandardRights]::WRITE_DAC -bor # [StandardRights]::WRITE_OWNER -bor # [StandardRights]::SYNCHRONIZE STANDARD_RIGHTS_ALL = 2031616 STANDARD_RIGHTS_EXECUTE = [StandardRights]::READ_CONTROL STANDARD_RIGHTS_READ = [StandardRights]::READ_CONTROL # 983040 is obtained via: # [StandardRights]::DELETE -bor # [StandardRights]::READ_CONTROL -bor # [StandardRights]::WRITE_DAC -bor # [StandardRights]::WRITE_OWNER STANDARD_RIGHTS_REQUIRED = 983040 STANDARD_RIGHTS_WRITE = [StandardRights]::READ_CONTROL } |