Written by Super User.

Get NTFS Permissions of Folders and Files Recursively

 

$FolderPath = Get-ChildItem -Directory -Path "C:\MyFolder" -Recurse -Force
#Create an empty array named OutPut
$Output = @()
ForEach ($Folder in $FolderPath) {
    $Acl = Get-Acl -Path $Folder.FullName
    ForEach ($Access in $Acl.Access) {
$Properties = [ordered]@{'Folder Name'=$Folder.FullName;'Group/User'=$Access.IdentityReference;'Permissions'=$Access.FileSystemRights;'Inherited'=$Access.IsInherited}
$Output += New-Object -TypeName PSObject -Property $Properties            
}
}
$Output |Export-Csv "C:\Users\YAVUZSA\Desktop\ntfs.csv" -Encoding UTF8 -NoTypeInformation