Я ищу утилиту, в которой я могу указать каталог для рекурсивного сканирования. Утилита должна сгенерировать командный файл, состоящий из обращений к icacls
для воспроизведения разрешений для файлов и каталогов по указанному пути.
В icacls /save
Команда не подходит для этой задачи, особенно потому, что она без необходимости дублирует унаследованные разрешения и выводит SID вместо понятных имен учетных записей.
Если я правильно вас понял, вы хотите применить разрешения каталога к его дочерним элементам? для этого вы можете использовать сценарии PowerShell. Вы можете рекурсивно сканировать каталоги, и для каждого каталога вы можете действовать с ним, например
Get-ChildItem C:\users\me\desktop -Recurse -Attributes Directory | foreach {Get-Acl $_.FullName | Format-List | Tee-Object C:\acls.list}
будет рекурсивно просматривать все каталоги на моем рабочем столе и выводить разрешения на консоль, а также в файл с именем C: \ acls.list. Вы также можете изменить информацию о владельце, рекурсивно применить perms и почти все, что icalcs будет делать, используя get-acl
и set-acl