Você já pensou em usar o PowerShell para fazer isso?
O PS2 inclui um cmdlet Get-ACL
quais enums as permissões do NFTS (incluindo o proprietário) para uma determinada pasta / arquivo.
Existe uma ferramenta ou comando que irá comparar duas árvores de diretório em computadores separados e exibir uma lista de diferenças, incluindo diferenças nas permissões?
Eu estava procurando pelo link e ele não parecia ter esse recurso (parece comparar tamanhos de arquivo e conteúdo, mas não atributos ). Deu uma olhada nas opções, mas não viu uma configuração para mudar isso.
Eu tive alguns problemas no passado com as permissões sendo danificadas em alguns diretórios de drivers após uma atualização e seria interessante comparar uma instalação em funcionamento com uma quebrada.
Você já pensou em usar o PowerShell para fazer isso?
O PS2 inclui um cmdlet Get-ACL
quais enums as permissões do NFTS (incluindo o proprietário) para uma determinada pasta / arquivo.
Não é possível encontrar nada que execute um "diff" nas permissões de arquivo no Windows, mas sei que RoboCopy e Richcopy ( link ) copiará os arquivos preservando os atributos do NTFS como permissões.
Você pode usar ICACLs.exe , Incluído desde o Vista para descarregar as permissões para um arquivo de texto. Em seguida, use o WinDiff ou o Beyond Compare, ou qualquer que seja a sua ferramenta de comparação de arquivos favorita, para ver as diferenças.
Exemplo de linha de comando icacls:
icacls C:\Folder1 /T > Folder1.txt
Altamente recomendado: setacl.
Esta é uma ferramenta gratuita que você pode obter em helgeklein.com .
Para comparar dois diretórios, fiz isso:
- fez uma lista de todas as ACLs em ambas as pastas
- lista em formato de texto
com setacl isso é feito assim
setacl -ot file -no folderA -actn list -lst "f: tab" > listA
setacl -ot file -na pastaB -actn list -lst "f: tab" > listB
- compare as 2 listas
Faço isso com diff
(coleção cygwin)
lista de diffA listaB
Eu tive um problema ao comparar duas pastas de usuários.
Essas pastas precisavam ter ACLs idênticas, exceto para o usuário que "possuía" a pasta.
Eu resolvi isso substituindo o nome de usuário na ACL por um nome comum 'customer'.
Isso me permitiu comparar o ACL sem ter uma diferença óbvia no próprio nome de usuário.
Provavelmente vale a pena olhar para:
Notas:
AFAIK não há ferramentas prontas que possam facilmente & convenientemente faz comparação / cópia de permissões NTFS, apesar da demanda existente :)