You can enable and disable bindings on a network adapter using Windows PowerShell. For example, start by using the Get-NetAdapterBinding cmdlet to display the bindings for the specified interface:
PS C:\> Get-NetAdapterBinding -InterfaceAlias “Ethernet 2”
Name DisplayName ComponentID Enabled
—- ———– ———– ——-
Ethernet 2 Hyper-V Extensible Virtual Switch vms_pp False
Ethernet 2 Link-Layer Topology Discovery Responder ms_rspndr True
Ethernet 2 Link-Layer Topology Discovery Mapper I/O Driver ms_lltdio True
Ethernet 2 Microsoft Network Adapter Multiplexor Protocol ms_implat False
Ethernet 2 Client for Microsoft Networks ms_msclient True
Ethernet 2 Windows Network Virtualization Filter driver ms_netwnv False
Ethernet 2 QoS Packet Scheduler ms_pacer True
Ethernet 2 File and Printer Sharing for Microsoft Networks ms_server True
Ethernet 2 Internet Protocol Version 6 (TCP/IPv6) ms_tcpip6 True
Ethernet 2 Internet Protocol Version 4 (TCP/IPv4) ms_tcpip True
To disable a specific binding such as QoS Packet Scheduler, you can use the Disable-NetAdapterBinding cmdlet like this:
PS C:\> Disable-NetAdapterBinding -Name “Ethernet 2” -ComponentID ms_pacer
You can use the Enable-NetAdapterBinding cmdlet to re-enable the binding.
This tip is excerpted from my latest book Training Guide: Installing and Configuring Windows Server 2012 from Microsoft Press.
Mitch Tulloch is a nine-time recipient of the Microsoft Most Valuable Professional (MVP) award and a widely recognized expert on Windows administration, deployment and virtualization. For more information see http://www.mtit.com.
it would be great to have a script or something to disable everything other than ‘ms_tcpip’ on Ethernet, torguard, expressvpn, and ivpn prior to launching the openvpn client of any of the latter three adapters as something pesky in windows 10 (pro) has a habit of re-enabling unwanted bindings.
Get-NetAdapterBinding -Name “ISCSI_NIC1” | ?{ $_.ComponentID -ne ‘ms_tcpip’} | % {Disable-NetAdapterBinding -Name $_.Name -ComponentID $_.ComponentID}