Today, just when starting the working day we have realized that there were somes servers offline (still powered on but without network connection). It seemed that the network adapters were incorrectly configured without the static IPs.
After some research, a job partner discovered that some days ago (March 13th) Microsoft released some security updates that generates issues to Windows 2008 R2 and Windows 7 VMWare virtualized machines. After installing the patches and rebooting, the virtual network card (vNIC) is hidden and replaced by a new one and without the previous configuration, so those machines affected that were configured with static IP lost network connection.
The updates that causes this issue are KB4088875 and KB4088878
Fast solution
As a fast solution for those critical servers in production that were affected, we had to reconfigure the network manually. This is how the issue leaves the new adapter configured:
When changing to static IP again, this warning is showed. You can ignore it because the same IP is still assigned to the replaced hidden adapter that is not in use anymore. As I said, this is a fast solution, but it would be better to delete the previous adapter:
Preventive solution
For those machines which still have not been affected, the following vbs script can be run ir order to prevent the problem:
Option Explicit
Const HKEY_LOCAL_MACHINE = &H80000002
Dim oReg : Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
Dim oShell : Set oShell = CreateObject("WScript.Shell")
Dim sPath, aSub, sKey, aSubToo, sKeyToo, dwValue, Result, SaveResult
Dim NotDeleted
NotDeleted = 0
' Get all keys within sPath
sPath = "SYSTEM\CurrentControlSet\Enum\PCI"
oReg.EnumKey HKEY_LOCAL_MACHINE, sPath, aSub
' Loop through each key
For Each sKey In aSub
' Get all subkeys within the key 'sKey'
oReg.EnumKey HKEY_LOCAL_MACHINE, sPath & "\" & sKey, aSubToo
For Each sKeyToo In aSubToo
Result = oReg.DeleteKey(HKEY_LOCAL_MACHINE, sPath & "\" & sKey & "\" & sKeyToo & "\" & "\Device Parameters" & "\SlotPersistentInfo")
' Allow failure only if key never existed
If (Result = 1) Or (Result > 2) Then
NotDeleted = 1
SaveResult = Result
End If
Next
Next
If (NotDeleted > 0) Then
Wscript.Echo "One or more SlotPersistentInfo keys still exist under HKLM\System\CurrentControlSet\Enum\PCI\\\Device Parameters. Please delete manually. Result = " & Result
End If
It deletes the SlotPersistenceInfo key under HKLM\CurrentControlSet\Enum\PCI\*\*\Device Parameters\
After being executed, you can safely install the patches without suffering the issue.
References
– VMWare blogs: Microsoft Convenience Update, KB4088875 and KB4088878 vNIC Incompatibilities
– Convenience rollup update for Windows 7 SP1 and Windows Server 2008 R2 SP1