You could do something like this
You really should stop using Get-VIServer, that cmdlet is very old and not used anymore since Connect-VIServer was introduced.
$VCenter = @('PRDVC01-VM', 'VC03-VA', 'VCenter-PROD01')$AdminUser = 'DOMAIN\Administrator'
$Password = 'XXyyZZ!@#'
Connect-VIServer -Server $VCenter -User $AdminUser -Password $Password
foreach ($vc in $global:defaultviservers) {
Get-VM -PipelineVariable vm |
Get-Snapshot |
Select-Object @{N = 'vCenter'; E = { $vc.Name } },
@{N = 'vCenter Version'; E = { $vc.Version } },
@{N = 'vCenter Build'; E = { $vc.Build } },
@{N = 'VM'; E = { $_.VM.Name } },
Name, Description, Created, SizeGB
}
Disconnect-VIServer -Server * -Confirm:$false -Force