Ich habe eine Funktion zum auslesen der erweiterten NTFS Berechtigungen.
private static List<string> GetDetailedRights(FileSystemRights rights)
{
List<string> detailedRights = new List<string>();
foreach (FileSystemRights value in Enum.GetValues(typeof(FileSystemRights)))
{
if (value == 0) continue; // Ignore 'None'
if (rights.HasFlag(value))
{
detailedRights.Add(value.ToString());
}
}
return detailedRights;
}
So rufe ich die Funktion auf:
List<string> detailedRightsList = GetDetailedRights(rule.FileSystemRights);
string detailedRights = string.Join(", ", detailedRightsList);
In der Ausgabe sind manche Rechte aber doppelt.
ReadData, ReadData, CreateFiles, CreateFiles, AppendData, AppendData, ReadExtendedAttributes, WriteExtendedAttributes, ExecuteFile, ExecuteFile, ReadAttributes, WriteAttributes, Write, ReadPermissions, Read, ReadAndExecute, Synchronize
Wie kann ich machen das jede Berechtigung nur einmal angezeigt wird?