script em lote que concede direitos de administrador e passa por todos os arquivos e pastas

6

Eu tenho isso, tenho certeza que é um pouco duro, mas faz o trabalho, me dá todos os direitos sobre os arquivos e pastas em uma unidade quando executado em uma unidade, agora eu preciso de ajuda para ir para sub-diretórios, então Eu não preciso copiar o script de morcego dentro de cada pasta e tenho que executá-lo.

takeown /f *
icacls * /grant Administrator:F
icacls * /grant Administrators:F
icacls * /grant SYSTEM:F
icacls * /grant "Authenticated Users":F

Como eu conseguiria percorrer a unidade recursivamente?

    
por nwgat 30.04.2012 / 16:28

2 respostas

7

Resposta curta: adicione /t para (i) cacls

Resposta longa:

Aqui está meu script que uso quando quero que o arquivo seja acessível a qualquer usuário. Inclui comentários sobre o que cada bandeira faz. Basta colocar isso em um arquivo de lote em algum lugar na pasta %AppData% .

REM --v2 -----------------------------------------------------------
takeown /r /d y /f %1
icacls %1 /t /grant Everyone:F

REM takeown /r /d y /f will set the owner to the Administrators group recursively.
REM /t makes it recursive
REM /grant Sets the permision to the following user, replaces existing permissions for the specified uesr.
REM :f Grants full controll permission.
REM ----------------------------------------------------------------

REM --v1 -----------------------------------------------------------
REM cacls %1 /t /e /g Everyone:f

REM /t makes it recursive
REM /e Edits the ACL instead of replaceing it
REM /g Grants permissions to the following users
REM :f Grants full controll permission.
REM ----------------------------------------------------------------

Em %AppData%\Microsoft\Windows\SendTo , crie um atalho para o script em lote.

Edite as propriedades desse atalho e vá para Advanced... e marque a caixa Run as Administrator.

Agora, em seu right click menu -> Send To , você terá um item chamado Fix Permissions de qualquer arquivo ou pasta em que você fizer um Send To e o grupo Todos receberá Full Access permissões. Se você executá-lo em uma pasta, ele passará por ele de forma recursiva e aplicará as permissões a todos os filhos da pasta.

Salvei o arquivo de lote na pasta %AppData% porque estou em um domínio e isso faz parte do meu perfil móvel. Assim, ele estará pronto para ser usado em qualquer computador ao qual me conecte.

    
por 30.04.2012 / 16:39
1

Isso funcionará para compartilhamentos de rede?

Takeown /f *
icacls * /grant Administrator:F
icacls * /grant Administrators:F
icacls * /grant SYSTEM:F
icacls * /grant "Authenticated Users":F
icacls * /grant "doamin\users":R
    
por 04.10.2013 / 05:09