When doing maintanance we have recently found that some VM's randomly dont reconnect to the network, and given the counts we have its a little hard to find them until the users complain that the servers are down, despite the fact they arent...
Anway I'm sure there is an underlying issue we need to fix but until them this is my solution, a powershell / powercli script.. it was tested with powercli 4.1.1-332441
# Ensure Networks are Connected on the currently powered On VM's
# DWallis 24/07/2011
# Adds the Powershell snapin's required if not already present.
Add-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue
# Ignore any SSL warnings
$WarningPreference = "SilentlyContinue"
#$viServerName = "viservernamehere"
connect-viserver $viServerName
# Connect to DataCenter
$ESXSRV = Get-DataCenter "DatacenterNameHere" | Get-VMHost
# Loop Through Each Powered On VM
Foreach ($VM in ($ESXSRV | Get-VM | where-object {$_.PowerState -eq "PoweredOn"}))
{
# Modify any un-connected VM's
$vm | Get-NetworkAdapter | Where { $_.connectionstate.connected -eq “$null” } | Set-NetworkAdapter -StartConnected:$true -Connected:$true -Confirm:$false
}
Disconnect-VIServer -Confirm:$False
I try to specialise in doing the out of the ordinary stuff (A Challenge!) - And generally making life as easy as possible using any of the technologies within reach without having to re-invent the wheel where possible! Technologies and products can include -> .NET, VBS, Powershell, DSC, Systems Center, NetApp, VMWare, Windows Server, Linux, Python, Microcontrollers and others!