If a computer running uses multiple network adapters, say an Ethernet connection and a Wi-Fi connection, it uses priorities to decide which adapter to use.
Note: The following guide is for Windows 10, but it should work on previous versions of Windows equally well for the most part.
Windows 10 does a good enough job usually when it comes to picking the right network adapter if multiple options are available. Sometimes though Windows may get it wrong, or you may want to prioritize a different adapter than the one selected by Windows.
Considering that you may have quite a few adapters installed — think Ethernet, wireless, VPN, and virtual machines — you may need to adjust the priority manual.
Change Network Adapter Priorities in Windows 10
You have two options to change adapter priorities in Windows 10. You may either use PowerShell for that, or navigate your way through a series of network interface menus to do the same.
I prefer PowerShell, as it is easier and gives you a better overview of everything. So, lets start there.
The PowerShell Way
First thing you need to do is open a new elevated PowerShell prompt:
- Tap on the Windows-key on the keyboard, type powershell, hold down Shift and Ctrl, and click on the Windows PowerShell link that is displayed.
This opens an elevated PowerShell prompt. Note that you may also launch PowerShell from an elevated command prompt window by typing powershell. The screenshot above shows how the interface looks like when done that way.
The first command that you want to run is Get-NetIPInterface. This displays all network adapters, their interface index number, and the interface metric.
The index is a unique number of each adapter, the metric the priority of that adapter. Also, it lists all adapter known by Windows at that point in time.
To change the priority of an adapter, look at the InterfaceMetric column. Windows lists the priority of the adapter, and priorities of all other adapters.
Run the command Set-NetIPInterface -InterfaceIndex “Index of the adapter you want to change the priority for” -InterfaceMetric “new priority of the adapter”.
Example: Set-NetIPInterface -InterfaceIndex “11” -InterfaceMetric “90”
This changes the priority of adapter 11 to the value 90.
Adapters with a lower InterfaceMetric number are prioritized over adapters that have a higher number.
Use the command Get-NetIPInterface to list the adapter information table again to verify the change.
The interface method
If you prefer to use a graphical user interface, you can do that as well. Note that it requires quite a bit of clicking, and is not as straightforward as the PowerShell method.
The main reason for that is that you don’t get an overview of all network adapter priorities in the graphical user interface.
While you can in theory check the value for each adapter individually, this would mean even more clicking and is not recommended. I suggest you run the PowerShell command Get-NetIPInterface to get a reading on those directly.
Step 1: Tap on the Windows-key, type ncpa.cpl and hit the Enter-key to get started. This opens the Network Connections listing.
Step 2: Right-click on the adapter that you want to modify the priority for, and select Properties from the context menu. This opens the properties window of the adapter.
Step 3: Locate Internet Protocol Version 4 (TCP/IPv4), select it, and click on the Properties button. Note: If your connection is IPv6, select Internet Protocol Version 6 (TCP/IPv6) instead.
Step 4: Locate the Advanced button on the next window that opens and click on it.
Step 5: There you find Interface metric near the bottom. Remove the checkmark from the Automatic metric box, and enter a new custom Interface metric number. Make sure you select a value of 2 or higher, as 1 is reserved for the loopback adapter.
Step 6: Click ok, and repeat the process for any other network adapter you want to change the priority for.
I suggest you verify the priorities using the PowerShell command used above.