I just found out that I could easily remove all the vEthernet switches by simply going to:
“Control Panel” > “Programs” > “Programs and Features” > “Turn Windows features on or off” on your Windows 10 machine
Find the name of the feature/s you would like to disable–in this case, “Containers” and (optionally) “Hyper-V”
Which is stated in this article
Just go to device manager, network adapters, right click and uninstall
I have 160 of these devices, and I don’t feel like uninstalling them all by hand.
I’ve used the; https://gallery.technet.microsoft.com/Device-Management-7fad2388 to disable them like so;
get-device | Where-Object -Property Name -Like hyper-v* | disable-device
But that’s only a disable;
(Get-WmiObject Win32_Networkadapter | Where-Object -Property Name -Like hyper-v*).delete()
This gets an error message…
I found a definitive solution. My solution works, even with Hyper-V enabled. Many of us don’t want to disable Hyper-V security, and nothing else here worked for me on Windows 10 2004, everything is replaced on reboot, even netbios settings which increase attack surface, and its a pain to configure potentially hundreds of adapters every single time. Even automating with Nvspbind all settings revert on reboot. One way to disable these adapters literally ONCE AND FOR ALL is to disable
Dns Client service and use a third-party DNS service such as Acrylic , or SimpleDNSCrypt. Be sure to comb through Acrylics configuration with a fine toothed comb because initially your default DNS provider will automatically be set to google or cloudflare. Then point acrylic to your router IP, or preferred DNS server, and set all your adapters DNS settings to
You must disable DNSCache with regedit, here:
start to 4, and reboot.
The only minor caveat is you may see a single adapter constantly and briefly appearing and disappearing under
Control Panel\Network and Internet\Network Connections and your device manager window will constantly refresh each time it attempts to install adapters. This problem appears to have went away for me after I enabled DNSCache (which was already disabled before I initially started using Hyper-V), then disabled it again. Another caveat is that initially loading the windows store you will get an error, unless you have previously opened the store with DNScache enabled. After that the store will work indefinitely unless you reset it. Not a big price to pay given how annoying this is, this actually works.
I used the tool Device Remover to successfully remove all my 150+ vEthernet devices quickly.
Other than that, only the suggestion to remove each device manually worked. However, that takes a lot of time for 150+ devices. Fortunately I found the above tool.
Regarding the re-creation of new devices on reboot I have no solution other than disabling/removing Hyper-V.
In my case removing – uninstalling the disabled VEthernet connections in device manager crashed the network on reboot. The only way I’ve found is to remove then re-install HyperV which deletes the old ones but still doesn’t stop W10 recreating on reboot.
Possible alternative is Win8.1 that doesn’t do this 🙂
I met the same phenomenon. Virtual adapters from some switches are duplicated twice after upgrading to 2004.
If you find disabling Hyper-V and enabling it again too time-consuming, you could check registry first.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmsmp\parameters\. There is a subkey we need to care about: NicList.
First thing is that we need to find which entry belongs to the duplicated one. Let’s first copy the duplicated adapter name in ncpa.cpl (“vEthernet (vEthernet (PPPo)”), then press
Ctrl+F in regedit.
Delete that subkey beginning with 0281B8F2.
And you need to remove that device from Device Manager too.
Win+R and type:
Get-NetAdapter | Out-GridView
Notice the adapter name and delete that in device manager. Reboot. Now you should notice those extra adapters are gone.
- Go to Turn Windows Features On / Off
- uncheck Hyper V
- Windows Sandbox
- Windows Subsystem for Linux
- Restart your PC
How to disable netAdapter using PowerShell:
Get-NetAdapter | Where-Object -Property Name -Like vEthernet* | Disable-NetAdapter