У меня проблема с subinacl и я надеюсь, что кто-то может помочь. Я пробовал искать по этому сайту и по различным сайтам в Интернете и не смог найти ответ, который искал. (Может быть, я просто не знаю подходящих терминов для поиска.)

Я использую Windows Server 2008 R2 Enterprise. У меня есть набор папок, которые изначально были настроены с определенными разрешениями, чтобы запретить ПОЛЬЗОВАТЕЛЯМ делать определенные вещи в определенных папках (перемещать папки, удалять их и / или создавать новые), но в какой-то момент кто-то испортил вещи и разрешения изменились, предоставив ПОЛЬЗОВАТЕЛЯМ полный доступ ко всему.

У меня есть набор папок с правильными настройками разрешений. Поэтому я использовал subinacl для копирования разрешений из папки с примерами, используя следующую команду в командном файле:

"..\subinacl.exe" /noverbose /nostatistic /outputlog="folder\name.log" /subdirectories "folder\sample_folder_name" /display

Я открыл файл журнала, который был создан с помощью вышеуказанной команды, и я вижу следующий текст:

===============================
+File X:\Projects\YEAR\RandomText\StandardText
===============================
/control=0x3000
/owner             =builtin\administrators
/primary group     =domain\domain users
/audit ace count   =0
/perm. ace count   =4
/pace =system  Type=0x0 Flags=0x3 AccessMask=0x1f01ff
/pace =builtin\administrators  Type=0x0 Flags=0x3 AccessMask=0x1f01ff
/pace =builtin\users  Type=0x0 Flags=0x3 AccessMask=0x1200a9
/pace =domain\administrator  Type=0x0 Flags=0x3 AccessMask=0x1f01ff

Я редактирую имя папки выше (строка текста после +File и сохраняю как new_folder_name.log. Я могу создать еще один пакетный файл и файл playfile чтобы клонировать / применить разрешения для sample_folder_name к папке, которую я отредактировал, с помощью следующего:

"..\subinacl.exe" /nostatistic /playfile "new_folder_name.log"

Но у меня есть несколько папок, к которым мне нужно применить разрешения, и мне было интересно, смогу ли я объединить subinacl с for /f и получить командный цикл через текстовый файл со списком папок, которые я хочу клонировать. разрешения вместо редактирования файла журнала по одной папке за раз. Я попытался создать цикл, используя следующее:

:START
FOR /F "Tokens=1" %%a in (ListOfFolders.txt) Do (
    IF "%%a" == "END" GOTO END

rem List permissions to log file:
CALL "..\subinacl.exe" /noverbose /nostatistic /outputlog="folder\name.log" /subdirectories "folder\sample_folder_name" /display \\%%a\

rem Restore permissions:
CALL "..\subinacl.exe" /nostatistic /playfile new_folder_name.log \%%a\

)
:END

У меня есть текстовый файл ListOfFolders.txt, в котором перечислены все папки проекта, к которым я хочу применить разрешения для sample_folder_name. Однако похоже, что разрешения применяются к папке, указанной в new_folder_name.log (строка текста после +File), а не к списку папок в ListOfFolders.txt.

Я надеюсь, что это "простое" исправление и что кто-то может мне помочь. Пожалуйста, также дайте мне знать, если есть что-то, что я могу уточнить или наличие дополнительной информации было бы полезно для выработки решения.

0