A common SysAdmin task involves managing a PowerShell IP configuration. Typically, one performs this task using the GUI, which is OK. But PowerShell can do the same job and more, which you can put into scripting.
In questo tutorial, imparerai come utilizzare alcuni cmdlet di gestione della rete in PowerShell per aiutare a gestire l’indirizzo IP, il gateway e le impostazioni DNS di un host Windows.
Continua a leggere e migliora le tue capacità di risoluzione dei problemi di rete con i comandi di configurazione IP di PowerShell!
Prerequisiti
Questo tutorial comprende dimostrazioni pratiche. Avrai bisogno di accesso amministrativo a PowerShell su un sistema operativo Windows moderno per seguirlo. Questo tutorial utilizza Windows Server 2022, ma i comandi funzionano su versioni di Windows 10 e successive.
Ottieni le proprietà dell’adattatore di rete (Get-NetAdapter
)
Nella risoluzione dei problemi o nel recupero dell’indirizzo IP di un host, potresti utilizzare strumenti tradizionali come ping
, ipconfig
o sconfig
. Ma con i cmdlet di PowerShell, puoi automatizzare questo processo tramite scripting.
Apri PowerShell ed esegui il cmdlet Get-NetAdapter
per ottenere l’elenco degli adattatori di rete e le loro proprietà, come ad esempio l’AliasInterfaccia e l’IndiceInterfaccia del tuo host.

Nota che il tuo adattatore non ha ancora un oggetto Indirizzo IP. Devi sapere quale intendi utilizzare. Per questo tutorial, stai lavorando con l’alias dell’adattatore Ethernet.
Recupero di una configurazione IP di PowerShell (Get-NetIPAddress
)
Elenchi in precedenza tutti gli interfacce di rete con un singolo comando. Ma puoi anche elencare i valori delle proprietà e l’indirizzo IP attuale del tuo host tramite il cmdlet Get-NetIPAddress
.
Esegui il comando seguente (senza parametri) per visualizzare l’indirizzo di ogni adattatore e la configurazione IP di PowerShell.

Ora, esegui il comando seguente per limitare l’output (Select-Object) all’InterfaceAlias
ed all’IPAddress
dell’Ethernet.

Ottieni le informazioni sul percorso IP (Get-NetRoute
)
Un indirizzo IP consente a un host di comunicare con altri sulla stessa rete. Ma cosa succede quando l’host deve comunicare al di fuori di quella rete?
A gateway address is necessary, and the Get-NetRoute
cmdlet is what you need. This cmdlet provides information that previous cmdlets you have learned about do not.
Esegui il comando Get-NetRoute
sottostante per verificare il gateway attuale (NextHop
) per l’interfaccia Ethernet
.
In genere, un server DHCP fornisce l’indirizzo del gateway. Vorrai catturare questo indirizzo in seguito per questo articolo.

Ottenere gli indirizzi IP del server DNS (Get-DnsClientServerAddress
)
Il DNS è necessario per la risoluzione dei nomi sia per le reti interne che per quelle esterne. Senza il DNS, dovresti ricordare l’indirizzo internet per ogni host sulla tua rete.
Ma è probabile che il tuo host abbia già configurato il DNS tramite DHCP. Puoi utilizzare il cmdlet Get-DnsClientServerAddress
per verificare la configurazione corrente.
Registra gli indirizzi IP redirigendo l’output su un file di testo o scrivendoli. Dovrai assegnare di nuovo questi indirizzi del server DNS più avanti in questo tutorial.

Ottenere le configurazioni di rete IP (Get-NetIPConfiguration
)
Quando hai bisogno delle informazioni dei tre cmdlet precedenti in un’unica soluzione, il cmdlet Get-NetIPConfiguration
farà al caso tuo. Una delle caratteristiche principali di questo cmdlet è che fornisce informazioni più focalizzate.
Esegui il cmdlet Get-NetIPConfiguration
di seguito per visualizzare le configurazioni di rete IP raccolte dai cmdlet precedenti eseguiti.

Il cmdlet Get-NetIPConfiguration è più veloce se si dispone solo di un’interfaccia di rete. Ma se si dispone di più di un’interfaccia di rete, potrebbe essere necessario filtrare le proprietà per evitare che la console scorra.
Configurazione manuale degli indirizzi IP, del gateway e del server DNS
Con i cmdlet che hai imparato finora, è ora di mettere in pratica le tue nuove conoscenze. Per questo tutorial, assegnerai un indirizzo IP statico, un gateway e server DNS a un host Windows Server 2022.
Da questo punto in poi, i comandi cambiano solo le impostazioni di indirizzo IP, gateway e DNS per l’adattatore di rete specificato. È necessario ripetere questi passaggi per ciascun adattatore che si desidera modificare.
1. Apri PowerShell come amministratore, e esegui il seguente comando per elencare gli adattatori di rete sul tuo server.
Comando per individuare gli adattatori di rete installati
Identifica l’adattatore di rete che desideri modificare. Puoi utilizzare il nome dell’adattatore o il numero di indice visualizzato nell’elenco (ad esempio, Ethernet).

2. Successivamente, esegui il comando seguente Net-NetIPAddress
per cambiare l’indirizzo IPv4 del tuo adattatore di rete. Il -PrefixLength
di 24
indica che sono stati utilizzati i primi 24 bit dell’indirizzo IP per la parte di rete dell’indirizzo. Assicurati di sostituire quanto segue:
NomeAdattatore
– Il nome o il numero di indice del tuo adattatore di rete di destinazione.IndirizzoServer
– L’indirizzo IPv4 da aggiungere all’adattatore di rete.IndirizzoGateway
– L’indirizzo del gateway dovrebbe essere nella stessa subnet dell’indirizzo IPv4.

Relativo al cmdlet New-NetIPAddress c’è Set-NetIPAddress, che modifica la configurazione IP esistente, mentre Remove-NetIPAddress elimina una configurazione.
3. Ora, esegui il seguente comando Set-DnsClientServerAddress
, che non produce output, ma cambia i server DNS. Assicurati di sostituire NomeAdattatore
con il nome del tuo adattatore di rete (-InterfaceAlias
) o il numero di indice (-InterfaceIndex
). Questo comando imposta i server DNS per il tuo adattatore di rete ai server DNS pubblici di Google a 8.8.8.8
e 8.8.4.4
. Ma puoi specificare qualsiasi indirizzo IP valido del server DNS che desideri.
Nota che con il cmdlet Set-DnsClientServerAddress, puoi assegnare uno o più indirizzi IP DNS interni o pubblici.
4. Infine, esegui il seguente comando Restart-NetAdapter
, che non stampa output sulla console ma riavvia il tuo adattatore di rete e applica le modifiche. Congratulazioni! Hai appena configurato manualmente la tua interfaccia di rete con una configurazione personalizzata.
Se il tuo host ha solo un adattatore, come in questo tutorial, potresti perdere brevemente la connettività, a seconda di come sei connesso. Questo ultimo passaggio è essenziale per completare l’utilizzo del nuovo indirizzo IP.
Conclusione
Conoscere la configurazione della tua rete è cruciale per mantenere una rete sana. La buona notizia è che hai imparato quattro comandi di base per la configurazione della rete disponibili dai cmdlet di configurazione IP di PowerShell.
Con questa nuova conoscenza, puoi facilmente creare uno script utilizzando le capacità di configurazione IP di PowerShell come parte di un processo di configurazione del server più ampio.
Cosa viene dopo? Perché non provare ad adattare opzioni più avanzate come MTU, aggiungere più percorsi o reimpostare un adattatore per utilizzare DHCP invece di un indirizzo statico?
Source:
https://adamtheautomator.com/powershell-ip-configuration/