Subinacl с циклом for для применения разрешений к списку папок
У меня проблема с 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 ответов на вопрос
Похожие вопросы
-
5
Как автоматически переместить файл на другой компьютер в сети?
-
3
Ubuntu Server с рабочим окружением GNOME - настройка разрешений файла конфигурации Apatche
-
2
Как разрешить запуск программ, требующих прав администратора, при запуске в Vista?
-
-
1
Windows не может записать на диск во время chkdsk и сохранения в офисе
-
5
Есть ли способ запустить запланированное задание в Windows XP без необходимости ввода имени пользова...
-
3
Как я могу запретить другим пользователям просматривать содержимое моего домашнего каталога, кроме о...
-
8
Как я могу дать права на запись в папку всем пользователям Linux?
-
7
Удаление «восстанавливаемых» файлов в Vista
-
1
Доступ к бывшему диску XP в качестве второго диска под Windows 7
-
5
Доступ к бывшему диску XP в качестве второго диска под Windows 7 без Chowning