最近使用 powershell
不知道是否有人知道某种方式来显示用户允许的文件夹。
直到这个
Get-ADPrincipalGroupMembership用户名|选择名称
但是我只是获取组,没有文件夹,如果用户将其分配给没有组的一个文件夹,则无法看到。
我正在搜索能够快速找到一个用户在文件服务器上的所有权限。
抱歉我的英文。 谢谢。
答案 0 :(得分:0)
您必须遍历所有文件夹和文件,并检查其权限是否包含您要查找的用户名。
像这样:
$items = Get-Childitem C:\Temp
这为您提供了文件和文件夹的对象,然后您可以将其传递给GetAccessControl方法 该对象如下所示:
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 24-05-2017 10:06 test
-a---- 23-05-2017 14:55 97 test.csv
现在,您可以将$ items对象与GetAccessControl方法一起使用,如下所示:
$items.GetAccessControl() | select -ExpandProperty Access
同样,这将返回一个对象,其中包含您指定路径中每个文件夹的NTFS文件权限。
这将是这样的:
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : Domain\User
IsInherited : True
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
尝试使用这些信息,看看你是否可以开始使用一个工作示例,社区可以帮助调试:)
请保留原帖中的回复。糟透了我们不能只评论...... 但是,是的,你看到的是当前文件(在管道中)的NTFS访问控制列表中提到的所有用户/组。 请记住,您可以访问各个行的对象,以便于搜索。 像这样:
$测试[0] .IdentityReference 会为$ Test数组中的第一个条目产生“domain / user”。 因此,您可以使用foreach-object或
遍历所有条目foreach($item in $test){
#Code here
# if($item.IdentityReference -eq $UserImLookingfor){Write-host "Match! -fo green" }
$i++
}