Finding all files in NTFS with specific user or group in ACL
Solution 1:
Thanks, "unknown". Your PowerShell script doesn't work for me, but I hacked together something that does. I'm new to it, too, but after some trial and error:
Get-ChildItem "C:\SOME\DIR" -recurse |
ForEach-Object {
$fname = $_.FullName
$acl = Get-Acl $fname
foreach ($e in $acl.Access) {
If ( -not $e.IsInherited -and
$e.AccessControlType -eq "Allow" -and
$e.IdentityReference -eq "SOMEDOMAIN\Somegroup")
{
Write-Host $fname
break
}
}
}
Somebody with PowerShell kungfu could probably clean this up a bit. Note that I have it ignore inherited entries, because I'm only interested in knowing where the access begins.
Solution 2:
Untested, and a little new to powershell, but something like this would write it to screen. From there you could dump it to a file or whatever.
Get-ChildItem "RootFolderPath" -recurse |
ForEach-Object {
$acl = Get-Acl $_.FullName
If $acl.ContainsKey "User/Group" {Write-Host $_.FullName}
}