Visualizzazione post con etichetta metrica. Mostra tutti i post
Visualizzazione post con etichetta metrica. Mostra tutti i post

giovedì 23 giugno 2022

PowerShell: Modificare la priorità degli adattatori di rete in ambiente Windows

Quando su una postazione sono presenti numerose interfacce di rete (schede di rete Ethernet e Wi-Fi multiple) possono verificarsi dei problemi di gestione da parte del sistema operativo. In questi casi si può intervenire modificando opportunamente la priorità con cui Windows gestisce gli adattatori di rete andando ad impostare la Metrica dell'interfaccia. Tale operazione può rivelarsi utile per risolvere eventuali conflitti o instabilità delle connessioni domestiche. La metrica di una determinata interfaccia di rete può essere modificata, tramite GUI, attraverso le proprietà TCP/IP (IPv4) della connessione. 
Impostazioni avanzate TCP/IP
FIG 1 - Impostazioni avanzate TCP/IP
Di seguito verrà mostrato come effettuare la stessa operazione tramite PowerShell.
Dopo aver aperto una finestra PowerShell come amministratore, il primo passo consiste nel verificare lo stato dei diversi adattatori di rete presenti (fisici e virtuali) eseguendo il comando
Get-NetIPInterface
Get-NetIPInterface
FIG 2 - Get-NetIPInterface

Come visibile in FIG 2, il comando permette di visualizzare, tra le altre informazioni, l'indice delle interfacce (ifIndex), gli alias, il protocollo usato, il valore di metrica/priorità (InterfaceMetric). Per modificare la metrica di un'interfaccia bisogna utilizzare il cmdlet Set-NetIPInterface a cui va passato il numero dell'interfaccia su cui si intende operare (InterfaceIndex) e il livello di priorità da assegnare (InterfaceMetric). A un numero inferiore corrisponde una maggiore priorità. Il comando sarà simile a 
Set-NetIPInterface -InterfaceIndex "<InterfaceIndex>" -InterfaceMetric "<InterfaceMetric>"
Ad esempio
Set-NetIPInterface -InterfaceIndex "7" -InterfaceMetric "20"
Il comando non restituisce a video alcun messaggio, pertanto per verificare l'effettivo cambio di priorità va rieseguito nuovamente Get-NetIPInterface.
Set-NetIPInterface
FIG 3 - Set-NetIPInterface