Как следует из названия вопроса, мне бы очень хотелось узнать, как проверить разрешения ntfs для данного файла или папки (подсказка: это те, которые вы видите на вкладке «безопасность»). По сути, мне нужно выбрать путь к файлу или каталогу (на локальном компьютере или, предпочтительно, на общем ресурсе на удаленном компьютере) и получить список пользователей / групп и соответствующие разрешения для этого файла / папки. , В конечном счете, приложение будет обходить дерево каталогов, разрешать чтение для каждого объекта и обрабатывать их соответствующим образом.
Теперь я могу придумать несколько способов сделать это:
- парсинг вывода cacls.exe - легко сделать, НО, если только я что-то не упустил, cacls.exe дает разрешения только в виде R | W | C | F (чтение / запись / изменение / заполнение), что недостаточно (мне нужно получить разрешения, такие как «Список содержимого папки», расширенные разрешения тоже)
- Вывод xcacls.exe или xcacls.vbs - да, они дают мне все необходимые мне разрешения, но они работают ужасно медленно, xcacls.vbs требуется ОДНА ВТОРАЯ, чтобы получить разрешения для локального системного файла. Такая скорость недопустима
- win32security (оборачивается вокруг winapi, верно?) - я уверен, что с этим можно справиться, но я бы не стал изобретать велосипед
Есть ли что-то еще, что я здесь скучаю?