Sintassi, contesti e formattazione dei comandi Netsh
Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, versioni 21H2 e 20H2
È possibile usare questo articolo per informazioni su come immettere contesti e sottocontesti netsh, comprendere la sintassi netsh e la formattazione dei comandi e come eseguire i comandi netsh nei computer locali e remoti.
Netsh è una utilità di scripting da riga di comando che consente di visualizzare o modificare la configurazione di rete di un computer attualmente in esecuzione. I comandi Netsh possono essere eseguiti digitando i comandi nella shell netsh e usati in file o script batch. I computer remoti e il computer locale possono essere configurati usando i comandi Netsh.
Netsh offre inoltre una funzionalità di scripting che consente di eseguire un gruppo di comandi in modalità batch su un computer specificato. Con Netsh è possibile salvare uno script di configurazione in un file di testo per scopi di archiviazione o per facilitare la configurazione di altri computer.
Sintassi
netsh
netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName\]UserName] [-p Password | *] [Command | -f ScriptFile]
I parametri seguenti sono considerati facoltativi.
Parametro | Descrizione |
---|---|
-a | Specifica che si torna alla shell netsh dopo l'esecuzione di AliasFile. |
AliasFile |
Specifica il nome del file di testo che contiene uno o più comandi netsh. |
-c | Specifica che Netsh immette il contesto netsh specificato. |
Context |
Specifica il contesto netsh da immettere. |
-r | Specifica che il comando deve essere eseguito in un computer remoto. Il servizio Registro di sistema remoto deve essere in esecuzione nel computer remoto. Se non è in esecuzione, Windows visualizza un messaggio di errore "Percorso di rete non trovato". |
RemoteComputer |
Specifica il nome del computer che intendi configurare. |
-u | Specifica di eseguire il comando netsh con un account utente. |
DomainName\ |
Specifica il dominio in cui si trova l'account utente. Il valore predefinito è il dominio locale se DomainName\ non è specificato. |
UserName |
Specifica il nome dell'account utente. |
-p | Specifica che vuoi fornire una password per l'account utente. |
Password |
Specifica la password per l'account utente specificato con -uUserName. |
Command |
Specifica il comando netsh da eseguire. |
-f | Chiude netsh dopo l'esecuzione dello script designato con ScriptFile. |
ScriptFile |
Specifica lo script da eseguire. |
Nota
Se si specifica -r
seguito da un altro comando, netsh esegue il comando nel computer remoto e quindi torna al prompt dei comandi. Se specifichi -r
senza un altro comando, netsh si apre in modalità remota. Il processo è simile all'uso del set machine nella shell dei comandi netsh. Quando usi -r
, devi impostare il computer di destinazione solo per l'istanza corrente di netsh. Dopo aver chiuso e riaperto netsh, il computer di destinazione viene reimpostato come computer locale. Puoi eseguire i comandi netsh in un computer remoto specificando un nome di computer archiviato in WINS, un nome UNC, un nome Internet che verrà risolto dal server DNS o un indirizzo IP.
Esecuzione dei comandi Netsh
Per eseguire un comando netsh, è necessario avviare netsh dal prompt dei comandi o Da PowerShell digitando netsh e quindi premendo INVIO. Puoi quindi passare al contesto che contiene il comando che vuoi usare. I contesti disponibili dipendono dai componenti di rete installati.
Ad esempio, se si digita dhcp nella shell netsh e si preme INVIO, netsh cambia nel contesto del server DHCP. Se non è installato il ruolo Server DHCP, viene visualizzato il messaggio seguente:
The following command was not found: dhcp.
Contesti Netsh
Netsh interagisce con altri componenti del sistema operativo usando file DLL (Dynamic Link Library).
Ogni DLL helper Netsh fornisce un set completo di funzionalità denominato contesto, ovvero un gruppo di comandi specifici per una funzionalità o un ruolo server di rete. I contesti estendono le funzionalità di Netsh fornendo supporto per la configurazione e il monitoraggio per uno o più servizi, utilità o protocolli.
Ad esempio, Dhcpmon.dll fornisce a Netsh il contesto e il set di comandi necessari per configurare e gestire i server DHCP.
È possibile ottenere un elenco di contesti netsh aprendo il prompt dei comandi o Windows PowerShell, quindi digitare netsh /? o netsh help e premere INVIO.
Di seguito è riportato un esempio di output:
The following commands are available: Commands in this context: .. - Goes up one context level. ? - Displays a list of commands. abort - Discards changes made while in offline mode. add - Adds a configuration entry to a list of entries. advfirewall - Changes to the `netsh advfirewall' context. alias - Adds an alias. branchcache - Changes to the `netsh branchcache' context. bridge - Changes to the `netsh bridge' context. bye - Exits the program. commit - Commits changes made while in offline mode. delete - Deletes a configuration entry from a list of entries. dhcpclient - Changes to the `netsh dhcpclient' context. dnsclient - Changes to the `netsh dnsclient' context. dump - Displays a configuration script. exec - Runs a script file. exit - Exits the program. firewall - Changes to the `netsh firewall' context. help - Displays a list of commands. http - Changes to the `netsh http' context. interface - Changes to the `netsh interface' context. ipsec - Changes to the `netsh ipsec' context. ipsecdosprotection - Changes to the `netsh ipsecdosprotection' context. lan - Changes to the `netsh lan' context. namespace - Changes to the `netsh namespace' context. netio - Changes to the `netsh netio' context. offline - Sets the current mode to offline. online - Sets the current mode to online. popd - Pops a context from the stack. pushd - Pushes current context on stack. quit - Exits the program. ras - Changes to the `netsh ras' context. rpc - Changes to the `netsh rpc' context. set - Updates configuration settings. show - Displays information. trace - Changes to the `netsh trace' context. unalias - Deletes an alias. wfp - Changes to the `netsh wfp' context. winhttp - Changes to the `netsh winhttp' context. winsock - Changes to the `netsh winsock' context. The following sub-contexts are available: advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ipsec ipsecdosprotection lan namespace netio ras rpc trace wfp winhttp winsock To view help for a command, type the command, followed by a space, and then type ?.
Sottocontesti Netsh
I contesti Netsh possono contenere sia comandi che contesti aggiuntivi, denominati sottocontesti. Ad esempio, all'interno del contesto dell'interfaccia, è possibile passare ai sottocontesti IPv4 e IPv6.
Per visualizzare un elenco di comandi e sottocontesti che è possibile usare all'interno di un contesto, nella shell netsh digitare il nome del sottocontesto e quindi digitare ? o guida. Ad esempio:
netsh> interface help The following commands are available: Commands in this context: 6to4 - Changes to the `netsh interface 6to4' context. ? - Displays a list of commands. dump - Displays a configuration script. help - Displays a list of commands. httpstunnel - Changes to the `netsh interface httpstunnel' context. ipv4 - Changes to the `netsh interface ipv4' context. ipv6 - Changes to the `netsh interface ipv6' context. isatap - Changes to the `netsh interface isatap' context. portproxy - Changes to the `netsh interface portproxy' context. set - Sets configuration information. show - Displays information. tcp - Changes to the `netsh interface tcp' context. teredo - Changes to the `netsh interface teredo' context. udp - Changes to the `netsh interface udp' context. The following sub-contexts are available: 6to4 httpstunnel ipv4 ipv6 isatap portproxy tcp teredo udp To view help for a command, type the command, followed by a space, and then type ?.
Per eseguire attività in un altro contesto senza passare dal contesto corrente, digitare il percorso del contesto del comando che si vuole usare nella shell netsh. Ad esempio, per aggiungere un indirizzo IPv4 statico per "NetLAN1" e specificare sia la subnet mask che il gateway, digitare:
netsh interface ipv4 set address "NetLAN1" static <IP_Address> <Subnet_Mask> <Gateway>
Legenda formattazione
È possibile usare la legenda di formattazione seguente per interpretare e usare la sintassi corretta dei comandi netsh quando si esegue il comando nella shell netsh, in un file batch o in uno script.
- Il testo in corsivo indica le informazioni che devi fornire quando digiti il comando. Se ad esempio un comando ha un parametro denominato -UserName, devi digitare il nome utente effettivo.
- Il testo in grassetto è costituito da informazioni che devono essere digitate esattamente così come sono quando digiti il comando.
- Il testo seguito dai puntini di sospensione (...) è un parametro che può essere ripetuto più volte in una riga di comando.
- Il testo compreso tra parentesi quadre [ ] è un elemento facoltativo.
- Il testo compreso tra parentesi graffe { } con scelte separate da una pipe fornisce un set di scelte da cui è necessario selezionare solo una, ad esempio
{enable|disable}
. - Il testo formattato con il tipo di carattere Courier indica codice oppure output del programma.
Valori stringa per i comandi netsh
Sono disponibili comandi che contengono parametri per i quali è necessario un valore stringa. Nel caso in cui un valore stringa contenga spazi tra caratteri, è necessario racchiudere il valore stringa tra virgolette doppie.
Quando si imposta il parametro di interfaccia per le reti IPv4 con un valore stringa di rete wireless Connessione ion su DHCP, usare virgolette doppie intorno al valore stringa. Ad esempio:
netsh interface ipv4>set address name="Wireless Network Connection" dhcp
In alternativa, per le interfacce di rete, è possibile usare il numero di indice al posto del nome associato. Ad esempio:
netsh interface ipv4>set address name=15 dhcp
Per trovare il nome o l'indice delle interfacce connesse, è necessario trovarsi nel sottocontesto dell'interfaccia IPv4 o IPv6 e visualizzare le interfacce del tipo. Ad esempio:
netsh interface ipv4>show interfaces
netsh interface ipv6>show interfaces