Param ( [parameter(Mandatory=$false)] [string]$RootPath = ".\" ) $ACLList = (Get-ChildItem -Path $RootPath -Recurse | Get-Acl); foreach ($ACLItem in $ACLList) { Write-Output " "; Write-Output $ACLItem.Path.Substring($ACLItem.Path.LastIndexOf("::")+2); foreach ($Accessor in $ACLItem.Access) { Write-Output ([string]::Format(" Identity {0} has {1} {2}", ` $Accessor.IdentityReference, ` $Accessor.AccessControlType, ` $Accessor.FileSystemRights )); } }