get-acl 语法问题

get-acl 语法问题

有人能给我解释一下吗?如果我运行该命令(get-acl .\test.txt) | Select-Object owner,我会得到

Owner
-----                                                                              
BUILTIN\Administrators   

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

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

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

答案1

Access属性包含一个数组。您可以不经过循环就扩展它:

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

答案2

当您尝试打印这些对象时,它们没有漂亮的字符串转换,因此它们会吐出它们的对象类型。

尝试以下方法:

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

相关内容