После установки мартовских обновлений на виртуальную машину VMware с ОС Windows Server 2008 R2 с сетевухами VMXNET3 сервера теряют свои статические IP адреса и получают новую сетевую карту с настройками по умолчанию - автоматическим получением адреса по DHCP.
Все пользовательские параметры от предыдущей vNIC по-прежнему сохраняются в реестре, но не используются.
Microsoft подтверждает проблему: https://support.microsoft.com/ru-ru/help/3125574/convenience-rollup-update-for-windows-7-sp1-and-windows-server-2008-r2
В статье предлагается решить проблему с помощью VBS скрипта. Перед запуском сценария убедитесь, что провели архивацию следующего раздела реестра и его подразделов:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI
Этот сценарий можно запускать на физических или виртуальных компьютерах:
- Непосредственно перед установкой вспомогательного накопительного пакета.
Или - Сразу же после установки вспомогательного накопительного пакета, но до перезагрузки, установите следующее исправление.
Или - После установки вспомогательного накопительного пакета 3125574 и перезагрузки, даже если компьютер находится в состоянии ошибки. В этом случае потребуется еще одна перезагрузка после выполнения сценария.
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\<deviceid>\<subdeviceid>\Device Parameters. Please delete manually. Result = " & Result
End If
В статье также есть решения некоторых других проблем, которые могут возникнуть после установки обновления.