在PowerShell中列出具有完全控制权限的文件夹的用户

3

我正在编写一段PowerShell脚本,其中一部分需要列出谁拥有指定文件夹的完全控制权限。但我找不到任何相关示例。

作为测试,我有一个名为 $acl 的变量指向 C:\TestFolder。我的命令如下:

$acl.access | ForEach-Object { $_.FileSystemRights | Where-Object { $_ -eq 'FullControl' } }

这将显示:

FullControl
FullControl
FullControl

当前有三个用户: 我的域账户、BUILTIN\Administrators 以及 NT AUTHORITY\SYSTEM。但我希望它显示为:

<my domain account>
BUILTIN\Administrators
NT AUTHORITY\SYSTEM

最终我会在公司的NAS上运行这个程序,可能会有10多个人拥有完全控制权限。我的最终目标是评估列表,看看这些账户中是否有任何一个是特定AD组的成员。

请问有人可以指点一下我吗?

提前感谢,

罗布。

1个回答

3
尝试将您的命令查询略微更改为以下内容:
$acl.access | Where-Object { $_.FileSystemRights -eq 'FullControl' } | Select-Object { $_.IdentityReference }

以下为修改建议。


1
你不需要嵌套的 Where-Object...它没有必要。只需执行 Where-Object {$_.FileSystemRights -eq 'FullControl'} 即可。 - Noah Sparks
好发现,抱歉我之前忽略了。那就是我从问题中直接复制编辑的结果。 - UtopiaLtd
有时候这也会困扰我,没关系。 - Noah Sparks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接