Top Level Permission Report All Shares
Purpose: This script will iterate over all network shares hosted by the computer it is running on, and will give top-level permissions to all the shared folders. It will not navigate deeper than the top-level in its report. Very I/O friendly.
$AllShares = Get-SMBShare | Where-Object {$_.Description -NotMatch "Default share|Remote Admin|Remote IPC|Printer Drivers"} | Select-Object -ExpandProperty Name
ForEach ($SMBDirectory in $AllShares)
{
Get-SMBShareAccess -Name $SMBDirectory | Export-CSV -Path C:\SMB_REPORT.csv -NoTypeInformation -Append
}