Try something along these lines
foreach($vm in Get-VM){
if($vm.ExtensionData.Runtime.ConsolidationNeeded){
$Snap = "" | Select VM,Name,Created,Description,Host,NeedsConsolidation
$Snap.VM = $vm.Name
$snap.NeedsConsolidation = $true
$Report += $Snap
}
else{
Get-Snapshot -VM $vm | %{
$Snap = "" | Select VM,Name,Created,Description,Host,NeedsConsolidation
$Snap.VM = $vm.name
$Snap.Name = $_.name
$Snap.Created = $_.created
$Snap.Description = $_.description
$Snap.Host = $_.vm.host.name
$snap.NeedsConsolidation = $false
$Report += $Snap
}
}
}
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference