Você deve tentar SetACL . Ele tem três maneiras diferentes de listar permissivas: saída tabular (fácil de ler), CSV e SDDL (os dois últimos são mais fáceis de serem consumidos por scripts). John Gardeniers provavelmente não sabia disso. Também é muito rápido - e gratuito.
Dados os direitos de administrador O SetACL pode listar as permissões de todos os arquivos e pastas na unidade, independentemente das permissões. Também funciona com caminhos com mais de 260 caracteres.
Aqui está um exemplo, listando as permissões recursivamente para cada arquivo e pasta na unidade C: em um sistema alemão:
D:\>setacl -on c:\ -ot file -actn list -lst f:tab -rec cont_obj
\?\c:\
DACL(protected+auto_inherited):
VORDEFINIERT\Administratoren full allow no_inheritance
VORDEFINIERT\Administratoren full allow container_inherit+object_inherit+inherit_only
NT-AUTORIT─T\SYSTEM full allow no_inheritance
NT-AUTORIT─T\SYSTEM full allow container_inherit+object_inherit+inherit_only
VORDEFINIERT\Benutzer read_execute allow container_inherit+object_inherit
NT-AUTORIT─T\Authentifizierte Benutzer change allow container_inherit+object_inherit+inherit_only
NT-AUTORIT─T\Authentifizierte Benutzer FILE_ADD_SUBDIRECTORY allow no_inheritance
\?\c:\$Recycle.Bin
DACL(protected+auto_inherited):
VORDEFINIERT\Administratoren full allow no_inheritance
VORDEFINIERT\Administratoren full allow container_inherit+object_inherit+inherit_only
NT-AUTORIT─T\SYSTEM full allow no_inheritance
NT-AUTORIT─T\SYSTEM full allow container_inherit+object_inherit+inherit_only
VORDEFINIERT\Benutzer read_execute+FILE_ADD_SUBDIRECTORY+FILE_WRITE_ATTRIBUTES allow no_inheritance
\?\c:\$Recycle.Bin\S-1-5-21-3377029132-2631215491-2583730848-1000
DACL(protected):
VORDEFINIERT\Administratoren full allow container_inherit+object_inherit
NT-AUTORIT─T\SYSTEM full allow container_inherit+object_inherit
nb-hklein\hklein full allow container_inherit+object_inherit
[...]
Mais exemplos de como usar o SetACL podem ser encontrados aqui .