There may be an easier way to do this, but here is what I came up with:
function Get-Properties($Object, $MaxLevels="5", $PathName = "`$_", $Level=0) { <
When started using the command
Get-Properties -Object $v | ? {$_ -match "Host" }
he returns
$_.Capability.HostBasedReplicationSupported $_.Client.CertificateError.Method.DeclaringType.Assembly.HostContext $_.Client.CertificateError.Method.Module.Assembly.HostContext $_.Client.CertificateError.Method.ReflectedType.Assembly.HostContext $_.Client.CertificateError.Method.ReturnType.Assembly.HostContext $_.Client.ServiceContent.HostProfileManager $_.Client.ServiceContent.HostProfileManager $_.Client.ServiceContent.HostProfileManager.Type $_.Client.ServiceContent.HostProfileManager.Value $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Hardware.Device.Backing.HostPointingDevice $_.Config.Tools.SyncTimeWithHost $_.Guest.HostName $_.Guest.IpStack.DnsConfig.HostName $_.Guest.Net.DnsConfig.HostName $_.Runtime.Host $_.Runtime.Host $_.Runtime.Host.Type $_.Runtime.Host.Value $_.Summary.Guest.HostName $_.Summary.QuickStats.HostMemoryUsage $_.Summary.Runtime.Host $_.Summary.Runtime.Host $_.Summary.Runtime.Host.Type $_.Summary.Runtime.Host.Value
Given that the VMware.Vim.VirtualMachine object has 5087 attached properties, this is a much simpler way to find what you are looking for. Hope this helps someone else.
KevinD
source share