This is a quick blog about some useful sanity check prior to and after network level changes
$esxToFind = "LAB-ESXi03*"
$ESX = get-vmhost $esxToFind
if (!$ESX) {
Write-Host "ERROR: No ESX found with name matching expression $esxToFind" -Background Red -ForegroundColor DarkRed
Exit
}
# Get list of VM's on $ESX
$VMs = $ESX | get-vm | Where {$_.PowerState -eq "PoweredOn"} | Sort -property Name
$objPing = New-Object system.Net.NetworkInformation.Ping
Foreach ($VM in $VMs) {
Write-Host $VM.Name.PadRight(20) -nonewline
# Get guest's primary IP address
$ip = (Get-VMGuest -VM $vm).IPAddress[0]
if (!$ip) {
Write-Host "NULL - Skipping test" -Background DarkYellow -ForegroundColor Yellow
Continue
}
Write-Host $ip.PadRight(17) -nonewline
if ($ip -eq '0.0.0.0') {
Write-Host "Skipping" -Background DarkYellow -ForegroundColor Yellow
Continue
}
[string]$res = $objPing.Send($ip).Status
if ($res.CompareTo("Success")) { # Returns 1 if $res doesn't match "Success" !!
Write-Host $res -BackgroundColor DarkRed -ForegroundColor Red
} else {
Write-Host $res -BackgroundColor DarkGreen -ForegroundColor Green
}
}