get-acl语法问题

有人可以向我解释一些事吗? 如果我运行命令(get-acl .\test.txt) | Select-Object owner (get-acl .\test.txt) | Select-Object owner ,我明白了

 Owner ----- BUILTIN\Administrators 

这正是我所期待的。 但是,如果我运行命令(get-acl .\test.txt) | Select-Object Access (get-acl .\test.txt) | Select-Object Access ,我得到这个:

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

而不是在该文件上拥有权限的用户/组的列表以及这些权限是什么。 那么我做错了什么?

Access属性包含一个数组。 您可以扩展它,而无需循环:

 Get-Acl .\test.txt | Select-Object -ExpandProperty Access 

当你试图打印它们时,这些对象没有漂亮的string转换,所以它们吐出了它们的对象types。

尝试一下这些方面:

 (get-acl .\test.txt) | Select-Object Access | foreach-object { $_.identityreference }