Težave z omrežnimi adapterji vmxnet3 v sistemu Windows (2008 R2 in 7) po namestitvi KB4088875 in KB4088878

Nove kumulativne Microsoftove varnostne posodobitve - KB4088875 (Mesečni sestanek kakovosti) in KB4088878 (Varnostna posodobitev) za Windows 7 SP1 in Windows Server 2008 R2, objavljena 13. marca 2018, povzročajo resne težave z omrežnimi adapterji virtualnih strojev VMware. Te posodobitve vodijo do ponovne vzpostavitve omrežnih vmesnikov vNIC in ponastavitve omrežnih nastavitev gostega sistema OS, zato po namestitvi posodobitev virtualni stroj izgubi določen statični IP naslov in postane nedosegljiv v omrežju.

To se zgodi zaradi dejstva, da je v sistem dodana nova aktivna omrežna kartica, stari omrežni adapter pa postane skrit in neaktiven. Nova omrežna kartica je konfigurirana tako, da dinamično pridobi IP naslov od DHCP strežnika. Če poskušate ročno nastaviti stari naslov IP za novo omrežno kartico, se prikaže napaka:

IP naslov X.X.X.X, ki ste ga vnesli za ta omrežni adapter, je že dodeljen drugemu adapterju (vmxnet3 Ethernet adapter), ki ga v računalniku ni več. Če je obema adapterjema dodeljen enak naslov in sta aktivna, bo ta naslov uporabil le eden. To lahko povzroči napačno konfiguracijo sistema. Ali želite vnesti drug naslov IP za ta adapter na seznam naslovov IP v naprednem pogovornem oknu?

IP-naslov X.X.X.X, ki je določen za ta omrežni adapter, je že dodeljen drugemu vmxnet3 Ethernet adapterju. Če imata oba adapterja enak naslov in oba adapterja postaneta aktivna, ga bo lahko uporabljal le eden. To lahko privede do okvar sistema. Na seznam naslovov v oknu z naprednimi nastavitvami vnesite drug naslov IP za ta adapter?

Po namestitvi teh posodobitev navidezni strežnik izgubi dodeljeni naslov IP in poskuša dobiti nov naslov od DHCP strežnika. To ustvari nov omrežni vmesnik v podružnici HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parametri \ Vmesniki. Stara omrežna kartica se skriva.

Težava se pojavi samo na virtualnih računalnikih z operacijskim sistemom Windows 7 / 2008R2 z navideznim omrežnim adapterjem, kot je vmxnet3.

Tako se stari naslov IP še vedno šteje za uporabnega in ga je treba sprostiti..

Če želite ročno odpraviti napako, morate na seznamu strojne opreme izbrisati skriti omrežni adapter. Če želite v upravitelju naprav prikazati skrito omrežno kartico, morate zagnati ukaze

nastavi devmgr_show_nonpresent_devices = 1
zaženite devmgmt.msc

Izberite element menija Pogled -> Pokaži skrite naprave. In razširite razdelek Omrežni adapterji.

Po tem morate v upravitelju naprav odstraniti skrite omrežne kartice vmxnet3 Ethernet adapter #x. Po tem lahko stari naslov IP dodelimo novi omrežni kartici.

Zdaj odprite nadzorno ploščo omrežne povezave in uredite nastavitve IP novega adapterja. Shranite spremembe (ponovni zagon ni potreben).

Za samodejno odpravljanje te težave Microsoft predlaga uporabo naslednjega skripta VBS (https://support.microsoft.com/en-us/help/3125574/convenience-rollup-update-for-windows-7-sp1-and-windows-server- 2008-r2), ki se zažene pred namestitvijo posodobitev ali po njej.

Pred zagonom skripta priporočamo, da varnostno kopirate naslednjo vejo registra: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ PCI .

Koda skripta fixPCI.vbs

Možnost izrecno
Const HKEY_LOCAL_MACHINE = & H80000002
Dim oReg: nastavite oReg = GetObject ("winmgmts: impersonationLevel = impresioniran! \\. \ Root \ default: StdRegProv")
Dim oShell: Nastavi oShell = CreateObject ("WScript.Shell")
Dim sPath, aSub, sKey, aSubToo, sKeyToo, dwValue, Rezultat, SaveResult
Zatemnjen ni izbran
NotDeleted = 0
'Pridobite vse ključe znotraj sPath
sPath = "SISTEM \ CurrentControlSet \ Enum \ PCI"
oReg.EnumKey HKEY_LOCAL_MACHINE, sPath, aSub


"Skozi vsako tipko
Za vsak sKey In aSub
'Pridobite vse podključeve znotraj ključa' sKey '
oReg.EnumKey HKEY_LOCAL_MACHINE, sPath & "\" & sKey, aSubToo
Za vsak sKeyToo In aSubToo
Rezultat = oReg.DeleteKey (HKEY_LOCAL_MACHINE, sPath & "\" & sKey & "\" & sKeyToo & "\" & "\ Parametri naprave" & "\ SlotPersistentInfo")
"Dovoli napako samo, če ključa ni bilo
Če (Rezultat = 1) Ali (Rezultat> 2) Potem
NotDeleted = 1
SaveResult = Rezultat
Konec, če
Naprej
Naprej

Če (NotDeleted> 0), potem
Wscript.Echo "Ena ali več tipk SlotPersistentInfo še vedno obstaja pod parametri naprave HKLM \ System \ CurrentControlSet \ Enum \ PCI \\. Izbrišite ročno. Result =" & Result
Konec, če

Na splošno lahko podobna dejanja opravimo z enim ukazom PowerShell:
Get-ChildItem "HKLM: // System / CurrentControlSet / Enum / PCI / * / * / DeviceParameters / SlotPersistentInfo" | Odstrani-element

Z PowerCLI lahko poiščete vse virtualne stroje z adapterjem Vmxnet3..
Če želite to narediti, se povežite s strežnikom vSphere.
Connect-VIServer -Server vsphere65 -Uporabnik corp \ uporabniško ime

Zdaj bomo našteli vse virtualne stroje z OS in rabljene različice virtualnih omrežnih kartic.

PowerCLI C: \> Get-VM | Izberite Ime, PowerState, Gost, @ N = 'NetworkAdapter'; E = [string] :: Pridružite se (',', (Get-NetworkAdapter -Vm $ _ | Select-Object -ExpandProperty Type))

Zaradi lažje analize lahko to tabelo izvozimo v Excel z dodajanjem | Export-Csv C: \ PS \ vNICrep.csv -NoTypeInformation