нашел только вариант как узнать имею ли я разрешения на папку через FileIOPermission. А нужно получить список доменных пользователей и групп которые имеют разрешения на папку и какие (чтение/запись).
В официальной документации MS можно найти все необходимое, но на это требуется некоторое количество терпения и времени на эксперименты, особенно если вы раньше не сталкивались в плотную с администрированием прав доступа ФС под Windows. Описания необходимых классов и методов довольно расплывчаты и плохо покрыты демонстрационными примерами, поэтому короткая шпаргалка будет не лишней, ну а за специфическими деталями уже в документацию. Некоторые необходимые ссылки будут в конце.
Ниже консольная демка, которая покажет права всех пользователей.
using System;
using System.IO;
using System.Linq;
using System.Security.AccessControl;
using System.Security.Principal;
class Program
{
static void Main()
{
//получаем дескриптор безопасности объекта ФС
var filesecurity = File.GetAccessControl("С:\\");
//получаем список правил безопасности связанных с объектом ФС
var rules = filesecurity.GetAccessRules(true, true, typeof(NTAccount));
//группируем правила по аккаунту, для одного аккаунта может быть несколько правил
var accounts = rules.Cast<FileSystemAccessRule>().GroupBy(r => r.IdentityReference);
foreach(var acc in accounts)
{
Console.WriteLine(acc.Key.Value);
foreach(var rule in acc)
{
Console.WriteLine($" {rule.AccessControlType}: {rule.FileSystemRights}");
}
}
Console.ReadKey();
}
}
Дальнейшая модификация под ваши требования не должна составить большого труда.
Несколько важных моментов:
Полезные ссылки:
File.GetAccessControl Method (String)
Класс FileSecurity
Метод CommonObjectSecurity.GetAccessRules (Boolean, Boolean, Type)
Класс NTAccount
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Не удается получить объект Image, чтобы затем достать из него ImageUrl, который представляет собой строку в формате base64
Как можно реализовать отсчет времени в игре через DateTime? Что бы допустим через 24 какое то действие выполнилось
Есть html, из которой я хочу получить информациюИспользую HtmlAgilityPack