Eu tenho isso, tenho certeza que é um pouco difícil, mas funciona, me dá todos os direitos sobre os arquivos e pastas em uma unidade quando executado em uma unidade, agora preciso de ajuda para colocá-lo em subdiretórios, então não preciso para copiar o script bat dentro de cada pasta e executá-lo.
takeown /f *
icacls * /grant Administrator:F
icacls * /grant Administrators:F
icacls * /grant SYSTEM:F
icacls * /grant "Authenticated Users":F
Como eu faria para percorrer a unidade recursivamente?
Responder1
Resposta curta: adicionar /t
a (i)cacls
Resposta longa:
Aqui está o meu script que uso quando quero que o arquivo seja acessível a qualquer usuário. Inclui comentários sobre o que cada sinalizador faz. Basta colocar isso em um arquivo em lote em algum lugar da %AppData%
pasta.
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 seguida, %AppData%\Microsoft\Windows\SendTo
crie um atalho para o script em lote.
Edite as propriedades desse atalho e vá Advanced...
e marque a caixaRun as Administrator.
Agora em seu right click menu -> Send To
você terá um item chamado Fix Permissions
qualquer arquivo ou pasta Send To
em que você terá Full Access
permissões concedidas ao grupo Todos. Se você executar isso em uma pasta, ele irá percorrê-la recursivamente e aplicará as permissões a todos os filhos da pasta.
Eu salvo o arquivo em lote na %AppData%
pasta porque estou em um domínio e isso o torna parte do meu perfil móvel, para que esteja ativado e pronto para uso em qualquer computador ao qual eu me conectar.
Responder2
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