Get-VMHost retorna "VMHost []" como um tipo.
Assim, cada VMHost retornado é um tipo estruturado personalizado, não uma string simples.
Meu entendimento é que a estrutura do VM-Host é assim (eu não tenho os add-ons da PS VM instalados aqui para checar):
- Estado
- CustomFields
- ID
- Nome
Então, talvez tente usar $VMHost.Name
quando você quiser apenas o nome (string) do VMHost atual:
$Status = Get-Clusternode -Cluster $Cluster -name $VMHost.Name | select state
Write-Host "Placing host " + $VMHost.Name + " back into service."