If you power on a poweroff VM, it will show Protected equals $false for a couple of seconds.
The VMs that are powered off do not have the property, hence the condition in my Where-clause.
For the ones that are powered on, you will get $true or $false.
If you only want the VMs that are not protected, it suffices to add an extra condition in the Where-clause.
Get-Cluster MyCluster | Get-VM |
where {$_.ExtensionData.Runtime.DasVmProtection.DasProtected -and !$_.ExtensionData.Runtime.DasVmProtection.DasProtected} |
Select Name,@{N="Protected";E={$_.ExtensionData.Runtime.DasVmProtection.DasProtected}}