Hello VSphere Powercli Experts,
Can some one please tell me why ESX hosts from vcenter1 is appearing on all 4 vcenters in the output? Thanks a lot in advance!
$Username = Read-Host -Prompt "Please enter your Username:"
$Password = Read-Host -Prompt "Please enter your Password:"
$vcenters = @("vcenter1","vcenter2","vcenter3","vcenter4")
$HostReport = @()
ForEach ($vcenter in $vcenters)
{
Connect-VIServer $vcenter -User $Username -Password $Password
Get-VMHost |Get-View |%{
$HReport = "" | select vCenter, Hostname, ESX_Version
$HReport.vCenter = $vcenter
$HReport.Hostname = $_.Name
$HReport.ESX_Version = $_.config.product.version
$HostReport += $HReport
}
Disconnect-VIServer $vcenter -Confirm:$false
}
$HostReport | Export-Csv "C:\ESXHostReport.csv" -NoTypeInformation
I suspect you might be connected to multiple vCenters.
Check what is in $global:defaultviservers.
You can limit your Get-VMHost to a specific vCenter by adding the Server parameter.
Get-VMHost -Server $vcenter
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
I suspect you might be connected to multiple vCenters.
Check what is in $global:defaultviservers.
You can limit your Get-VMHost to a specific vCenter by adding the Server parameter.
Get-VMHost -Server $vcenter
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
I can see vcenter1 when i run $global:defaultviservers.
I added Server parameter for Get-VMHost, and it fixed the issue. Thanks a lot!
