Quick guide on forcing what adaptor windows should use when two or more options are available.
WARNING: This is a specific scenario for me, Windows 10 does a really good job by default. Please test before deploying to the whole network.
Scenario: Users have two network adaptors connected to the same network, wireless and ethernet cable. Our users are all desk based and use wireless when in meeting… but the connection remains when they get back to their desks and plug in. The issue is that the wired infrastructure is only 100Mbps but the connection to wireless can be 500Mbps so rightly wireless is taking precedence, but this puts an unnecessary strain on the wireless infrastructure. Now the idea solution would be to rip out the archaic switches and replace with 1Gbps but that’s out of our control. What is in our control is being able to re-prioritise what adaptor windows will use if connected.
PowerShell
Open a shell windows in admin mode and run the following command:
Get-NetIPInterface
It will displays all network adapters on the computer, show their interface index number and the interface metric.
The index number is unique for each adapter, and the metric the priority of that adapter.
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 “7” -InterfaceMetric “25”
and
Set-NetIPInterface -InterfaceIndex “5” -InterfaceMetric “50”
Rerun the Get-NetIPInterface command. As you can see the Wireless and LAN have both changed values. Note: Adapters with a lower InterfaceMetric number are prioritized over adapters that have a higher number. So for this test the laptop when they are next plugged into the LAN the laptop won’t use the Wireless even if it’s available and faster.
Like i warned previously, this is for a specific scenario and shouldn’t be messed with if you don’t need to.