problema de sintaxe get-acl

1

Alguém poderia me explicar algo? Se eu executar o comando (get-acl .\test.txt) | Select-Object owner , obtenho

Owner
-----                                                                              
BUILTIN\Administrators   

que é o que eu estava esperando. No entanto, se eu executar o comando (get-acl .\test.txt) | Select-Object Access , obtenho isto:

Access
-----
{System.Security.AccessControl.FileSystemAccessRule,System.Security.AccessControl.FileSystemAccessRule, System.Security.AccessControl.FileSystemAccessRule}  

em vez da lista de usuários / grupos que têm permissões no arquivo e quais são essas permissões. Então, o que estou fazendo errado?

    
por Alex 14.04.2011 / 21:33

2 respostas

3

A propriedade Access contém uma matriz. Você pode expandi-lo sem fazer um loop:

Get-Acl .\test.txt | Select-Object -ExpandProperty Access
    
por 14.04.2011 / 21:59
1

Esses objetos não têm uma conversão de string bonita quando você está tentando imprimi-los, por isso eles cuspem o tipo de objeto.

Tente algo ao longo destas linhas:

(get-acl .\test.txt) | Select-Object Access | foreach-object { $_.identityreference }
    
por 14.04.2011 / 21:45

Tags