When you’re (still) running Windows 2008 R2 and are using VMware Tools 10.2.0 you might run in an issue regarding to network loss. VMware has published KB54459.
Windows Server 2008 R2 guest VM ports are exhausted after upgrading to VMware Tools 10.2.0
Details:
- Guest virtual machine ports are exhausted after a few days.
- Networking is lost.
- Network connections cannot be made.
VMware has fixed the issue with the release of VMware Tools 10.2.5.
Ports are exhausted on a guest VM after using VMware Tools 10.2.0
Guest VM ports are exhausted after using VMware Tools 10.2.0. This results in network connection failure.
This issue is resolved in this release.
Source: https://docs.vmware.com/en/VMware-Tools/10.2/rn/vmware-tools-1025-release-notes.html
But how do you know if you’re running this buggy combo? Well PowerCLI to rescue. The script below gathers all the VMs running Windows 2008 R2 and VMware Tools 10.2.0:
Import-Module VMware.VimAutomation.Core Connect-VIServer -Server <vCenterName> $AllVms_view = get-view -ViewType VirtualMachine -Property Name, Config, Guest Disconnect-VIServer -Confirm:$false $AllAffectedVMs = $Allvms_view |?{$_.Config.GuestId -eq 'windows7Server64Guest' -and $_.Config.Tools.ToolsVersion -eq '10304'} $AllAffectedVMsInfo = @() $AllAffectedVMs | % { $AllAffectedVMsInfo += [pscustomobject]@{ Name = $_.Name ToolsVersion = $_.Config.Tools.ToolsVersion GuestOSId = $_.Config.GuestId GuestFullName = $_.Config.GuestFullName } } $AllAffectedVMsInfo | ft -AutoSize
Copy the script and change the <vCenterName>. The script will gather all the VMs via Get-View with the Name, Config and Guest properties only. So it’s lightning fast. Once the script has all the information the filtering will take place. The variable $AllAffectedVms contains all the VMs with Windows 2008R2 as GuestOS and with tools version 10304. Take a look at https://packages.vmware.com/tools/versions to correlate all the different version/build numbers.
The fix is easy. Just upgrade the VMware Tools on the affected VMs.