Thank you! This is what I came up with.
$results
= @()
foreach
($VMHost in (Get-VMHost))
{
$Compliance = Test-VMHostProfileCompliance -VMHost $VMHost -UseCache -ErrorAction:SilentlyContinue
$AttachedProfile = Get-VMHostProfile -entity $VMHost
if ($Compliance)
{
$ComplianceStatus = $Compliance.ExtensionData.ComplianceStatus
}
elseif ($AttachedProfile)
{
$ComplianceStatus = "Compliant"
}
else
{
$ComplianceStatus = "No Profile Attached!"
}
$res = New-Object -TypeName PSObject -Property @{
VMhost
= $VMHost.name
ComplianceStatus
= $ComplianceStatus
}
$results += $res
}
$results
| Export-Csv c:\temp\profileCompliance.csv