Give the following script a go.
$report = @()
foreach($folder in Get-Folder){
$folder | Get-VIPermission | %{
$row = "" | Select Name, Type, Folder, Principal, Role, Inherited
$row.Name = $folder.Name
$row.Type = "Folder"
$row.Folder = "na"
$row.Principal = $_.Principal
$row.Role = $_.Role
$row.Inherited = ($_.EntityId -ne $folder.Id)
$report += $row
}
foreach($vm in ($folder |Get-VM -NoRecursion:$true)){
$vm | Get-VIPermission | %{
$row = "" | Select Name, Type, Folder, Principal, Role, Inherited
$row.Name = $vm.Name
$row.Type = "VM"
$row.Folder = $folder.Name
$row.Principal = $_.Principal
$row.Role = $_.Role
$row.Inherited = ($_.EntityId -ne $vm.Id)
$report += $row
}
}
}
$report
Since you wanted folders and guests in 1 report, I included the Type property which will show if the object is a guest or a folder.
The Inherited property tells if a permisson was inherited ($true) or not ($false).
____________
Blog: LucD notes
Twitter: lucd22