- Panoramica
- Convenzione delle variabili
- Passo 1: Verificare la configurazione di rete corrente
- Passo 2: Passare da DHCP a IP statico
- Passo 3: Configurare i server DNS
- Passo 4: Impostare la priorità con più NIC
- Passo 5: Verifiche operative
- Passo 6: Disabilitare IPv6 (se richiesto)
- Passo 7: Buone pratiche
- Abilitare/Disabilitare un adattatore di rete
- Rimuovere l’IP statico e tornare a DHCP
- Conclusione
Panoramica
Questo articolo spiega come gestire in modo unificato la configurazione di rete in Windows Server tramite PowerShell.
Copriamo IP statico, DNS, priorità di routing e accortezze per ambienti con più schede di rete (NIC).
Convenzione delle variabili
| Variabile | Esempio | Descrizione |
|---|---|---|
<<INTERFACE_ALIAS>> |
Ethernet0 |
Nome dell’adattatore di rete |
<<IP_ADDRESS>> |
192.168.10.100 |
Indirizzo IP statico |
<<PREFIX_LENGTH>> |
24 |
Lunghezza del prefisso (es.: 24 per 255.255.255.0) |
<<GATEWAY>> |
192.168.10.1 |
Gateway predefinito |
<<DNS1>> |
192.168.10.10 |
DNS primario |
<<DNS2>> |
8.8.8.8 |
DNS secondario (opzionale) |
Passo 1: Verificare la configurazione di rete corrente
Elenca le NIC e controlla la configurazione IP.
# Elenco adattatori
Get-NetAdapter | Select-Object Name, Status, MacAddress, LinkSpeed
# Configurazione IP
Get-NetIPAddress | Select-Object InterfaceAlias, IPAddress, PrefixLength, DefaultGateway, PrefixOrigin
| OriginType | Significato | Nota |
|---|---|---|
| Manual | Indirizzo statico impostato manualmente | Definito via PowerShell o GUI |
| DHCP | Indirizzo assegnato automaticamente dal server DHCP | Abilitato con Set-NetIPInterface -Dhcp Enabled |
| WellKnown | Indirizzo riservato di sistema (link-local/APIPA) | Es. 169.254.x.x quando DHCP non risponde |
Passo 2: Passare da DHCP a IP statico
Disabilita DHCP e imposta un IP fisso.
# Disabilitare DHCP
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -Dhcp Disabled
# Rimuovere l'indirizzo DHCP (se presente)
Get-NetIPAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -AddressFamily IPv4 |
Where-Object { $_.PrefixOrigin -eq "Dhcp" } |
Remove-NetIPAddress -Confirm:$false
# Impostare IP statico
New-NetIPAddress `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-IPAddress "<<IP_ADDRESS>>" `
-PrefixLength <<PREFIX_LENGTH>> `
-DefaultGateway "<<GATEWAY>>"
Attenzione:
UsareRemove-NetIPAddresssolo per rimuovere assegnazioni DHCP.
Eseguirlo sull’interfaccia usata dalla sessione remota può interrompere la connessione.
Passo 3: Configurare i server DNS
Specifica i DNS e verifica l’applicazione.
# Configurazione DNS
Set-DnsClientServerAddress `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ServerAddresses ("<<DNS1>>","<<DNS2>>")
# Verifica impostazioni
Get-DnsClientServerAddress -InterfaceAlias "<<INTERFACE_ALIAS>>"
Svuota la cache DNS e prova la risoluzione:
Clear-DnsClientCache
Resolve-DnsName "www.microsoft.com"
Passo 4: Impostare la priorità con più NIC
In sistemi con più reti, controlla la priorità di routing tramite InterfaceMetric.
Valori più bassi = priorità più alta.
# Priorità correnti
Get-NetIPInterface | Sort-Object -Property InterfaceMetric |
Select-Object InterfaceAlias, AddressFamily, InterfaceMetric
# Modificare la priorità (dare precedenza alla NIC di gestione)
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -InterfaceMetric 10
Valori consigliati:
- LAN di gestione:
10- LAN di backup:
20–50- Traffico cluster/iSCSI:
100o superiore
Passo 5: Verifiche operative
# Raggiungibilità del gateway
Test-Connection "<<GATEWAY>>" -Count 4
# Test risoluzione DNS
Resolve-DnsName "www.microsoft.com"
Suggerimento:
Se le impostazioni DNS non hanno effetto, riavvia il servizio client DNS:net stop dnscache && net start dnscache
Passo 6: Disabilitare IPv6 (se richiesto)
Di default IPv4 e IPv6 coesistono. Se la tua rete non usa IPv6, puoi disabilitarlo per evitare percorsi/annunci e variazioni indesiderate nella risoluzione.
# Stato binding IPv6
Get-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6"
# Disabilitare IPv6
Disable-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6" `
-PassThru
# Verifica post-modifica
Get-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6"
Riabilitare IPv6:
Enable-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6"
Passo 7: Buone pratiche
- Fissare il nome delle NIC
Evita rinominazioni automatiche assegnando nomi gestionali:Rename-NetAdapter -Name "<<INTERFACE_ALIAS>>" -NewName "LAN-Primary" - Rimuovere rotte non necessarie
Pulisci rotte predefinite duplicate/errate:Get-NetRoute -AddressFamily IPv4 Remove-NetRoute -DestinationPrefix "0.0.0.0/0" -InterfaceAlias "BackupNIC" -Confirm:$false
Abilitare/Disabilitare un adattatore di rete
# Disabilitare adattatore
Disable-NetAdapter -Name "<<INTERFACE_ALIAS>>" -Confirm:$false
# Abilitare adattatore
Enable-NetAdapter -Name "<<INTERFACE_ALIAS>>"
Rimuovere l’IP statico e tornare a DHCP
Remove-NetIPAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -IPAddress "<<IP_ADDRESS>>" -Confirm:$false
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -Dhcp Enabled
Conclusione
Con PowerShell, la configurazione di rete in Windows Server diventa precisa, ripetibile e facilmente automatizzabile.
In host multi-NIC, priorità di routing e DNS esplicito sono fondamentali per la stabilità.
Integra la scriptabilità fin dall’inizio per standardizzare e accelerare deployment e ricostruzioni.
