Estou tendo um problema com o subinacl e esperava que alguém pudesse ajudar. Tentei pesquisar neste site e em vários sites on-line e não encontrei a resposta que estava procurando. (Talvez eu não saiba os termos apropriados para pesquisar).
Estou usando o Windows Server 2008 R2 Enterprise. Eu tenho um conjunto de pastas que foram originalmente criadas com certas permissões para restringir USUÁRIOS de fazer certas coisas em e para certas pastas (mover as pastas, excluí-las e / ou criar novas), mas em algum momento, alguém mexeu nas coisas e as permissões alteradas, permitindo ao USERS acesso total a tudo.
Eu tenho um conjunto de pastas com as permissões corretas configuradas. Então eu usei subinacl para copiar as permissões da pasta de amostra usando o seguinte comando em um arquivo de lote:
"..\subinacl.exe" /noverbose /nostatistic /outputlog="folder\name.log" /subdirectories "folder\sample_folder_name" /display
Eu abri o arquivo de log que foi criado usando o comando acima, e vejo o seguinte texto:
===============================
+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
Edite o nome da pasta acima (a sequência de texto após +File
e salve-a como new_folder_name.log. Posso criar outro arquivo em lote e playfile
para clonar / aplicar as permissões do sample_folder_name à pasta que editei usando o seguinte:
"..\subinacl.exe" /nostatistic /playfile "new_folder_name.log"
Mas eu tenho um monte de pastas que eu preciso aplicar as permissões, e eu queria saber se eu poderia combinar subinacl
com for /f
e ter o comando loop através de um arquivo de texto com uma lista das pastas que Eu quero clonar as permissões para em vez de editar o arquivo de log uma pasta de cada vez. Eu tentei criar um loop usando o seguinte:
: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
Eu tenho o arquivo de texto, ListOfFolders.txt, que lista todas as pastas do projeto que eu quero aplicar as permissões de sample_folder_name. No entanto, parece que as permissões são aplicadas à pasta listada em new_folder_name.log (a sequência de texto após +File
) em vez da lista de pastas em ListOfFolders.txt.
Espero que esta seja uma solução "simples" e que alguém possa me ajudar. Por favor, deixe-me saber se há algo que eu possa esclarecer ou se ter informações adicionais seria útil para produzir uma solução.