I forget if I raised this before but I hit it again today so to be sure, here it is...I'm not sure how to explain this, so I'll just show it:
PS > (Get-VM vcenter* | Get-CDDrive).connectionstate
AllowGuestControl Connected StartConnected
----------------- --------- --------------
True False False
PS > Get-VM vcenter* | Get-CDDrive | select -expandProperty connectionstate
Select-Object : Cannot expand property "connectionstate" because it has nothing to ex
pand.
At line:1 char:39
+ Get-VM vcenter* | Get-CDDrive | select <<<< -expandProperty connectionstate
This technique works with every other object on the planet aside from CDDriveImpl.
Author of the upcoming book: Managing VMware Infrastructure with PowerShell
Co-Host, PowerScripting Podcast (http://powerscripting.net)