Windows 用户+;文件夹
Windows 用户+;文件夹,windows,powershell,scripting,Windows,Powershell,Scripting,最近正在使用powershell 不知道是否有人知道如何按用户显示允许的文件夹 在这之前,我一直在努力 获取ADPrincipalGroupMembership用户名|选择名称 但我只获取组,不获取文件夹的任何内容,如果用户被分配到一个没有组的文件夹,则无法看到该文件夹。 Im搜索可以快速找到一个用户在文件服务器上的所有权限。 对不起我的英语。 谢谢。您必须循环浏览所有文件夹和文件,并检查其权限是否包括您要查找的用户名 像这样: $items = Get-Childitem C:\Temp 这
最近正在使用powershell
不知道是否有人知道如何按用户显示允许的文件夹 在这之前,我一直在努力 获取ADPrincipalGroupMembership用户名|选择名称 但我只获取组,不获取文件夹的任何内容,如果用户被分配到一个没有组的文件夹,则无法看到该文件夹。
Im搜索可以快速找到一个用户在文件服务器上的所有权限。
对不起我的英语。
谢谢。您必须循环浏览所有文件夹和文件,并检查其权限是否包括您要查找的用户名 像这样:
$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
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : Domain\User
IsInherited : True
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
现在,您可以将$items对象与GetAccessControl方法一起使用,如下所示:
$items.GetAccessControl() | select -ExpandProperty Access
同样,这将返回一个对象,其中包含指定路径中每个文件夹的NTFS文件权限
看起来是这样的:
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 24-05-2017 10:06 test
-a---- 23-05-2017 14:55 97 test.csv
FileSystemRights : FullControl
AccessControlType : Allow
IdentityReference : Domain\User
IsInherited : True
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
尝试使用这些信息,看看是否可以开始使用一个工作示例,以便社区帮助调试:)
请将您的回复保留在原始帖子中。糟透了,我们不能只是评论。。。
但是,是的,您看到的是当前文件(管道中)的NTFS访问控制列表中提到的所有用户/组。
请记住,您可以通过各行访问对象,以使搜索更容易。
像这样:
$Test[0]。标识引用
将为$Test数组中的第一个条目生成“domain/user”。
因此,可以使用foreach对象或
foreach($item in $test){
#Code here
# if($item.IdentityReference -eq $UserImLookingfor){Write-host "Match! -fo green" }
$i++
}