How to tell Windows to use a different default network card ?
In the presence of multiple network adapters, it is sometimes necessary to manually specify which one is the default used for internet routing, for example. To accomplish this, you have to manually add a "metric" to each interface. Windows will automatically use the interface with a lower metric. To check and change your network adapters' metric:
1. Open Command Prompt and type: route print - you will see a list of active routes, the last column displaying their "metric". Lower metric routes are preferred over higher ones.
2. Open the Network Adapter Properties (Control Panel > Network and Internet > Network Connections > right-click on adapter and choose Properties)
3. Open the properties of Internet Protocol Version 4 (TCP/IPv4).
4. Click on Advanced.
5. Untick "Automatic Metric" and set the interface metric to a number.
6. Hit OK until you close the Network Adapter properties.
7. Repeat steps 2-6 for your other network adapter(s) choosing different metrics. Remember lower metrics are preferred over higher ones.
Under Windows 8/10, it is also possible to use Powershell Cmdlets to set NICs priority:
1. Open PowerShell and type: Get-NetIpInterface
Note the first column, the "ifIndex", or interface index, the column "InterfaceAlias", and the column labeled "InterfaceMetric" of each device. Ignore the Loopback pseudo interface lines.
2. Set the metric. On the appropriate network adapter, with the proper "InterfaceIndex" you want to change (let's say "11"), set the "InterfaceMetric", for example:
Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 22
It is also possible to use the name of the interface ("InterfaceAlias") rather than the interface index to set the metric:
Set-NetIPInterface -InterfaceAlias "Ethernet 4" -InterfaceMetric 22
Lower metric routes are preferred over higher ones.
Metrics can be checked in Command Prompt by typing: route print