I've written an application that examines all of the file system permissions on a directory.
A directory has a number of access rules (of type FileSystemAccessRule
).
Each access rule has a property FileSystemRights
, which is a flag enumeration.
When running this, I keep encountering a FileSystemRights
value of 268435456
(which comes to 0x10000000
in hexadecimal).
This value just doesn't appear in enumeration! It's actually higher than the highest single flag value (Synchronize
, having a value of 0x100000
).
Does anyone know what this is?
See http://cjwdev.wordpress.com/2011/06/28/permissions-not-included-in-net-accessrule-filesystemrights-enum/
From that page:
Here is my solution for correcting the FileSystemRights so they fit to the enumeration.
There are several documents about that. The references are included in the code.
from https://social.technet.microsoft.com/Forums/windowsserver/en-US/5211a077-63fc-4016-b750-25bf26b3ad15/why-does-getacl-return-filesystemrights-that-are-invalid-in-filesystemaccesrule-used-with-setacl?forum=winserverpowershell
268435456 - FullControl
-536805376 - Modify, Synchronize
-1610612736 - ReadAndExecute, Synchronize
(to save you some math)