有人能给我解释一下吗?如果我运行该命令(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 }