Sintaxe do comando netsh, contextos e formatação

Aplica-se a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, versões 21H2 e 20H2

Você pode usar este artigo para aprender a inserir contextos e subcontextos do netsh, a entender a formatação da sintaxe e do comando netsh e a executar comandos netsh em computadores locais e remotos.

O Netsh é um utilitário de script de linha de comando que permite exibir ou modificar a configuração de rede de um computador em execução no momento. Os comandos netsh podem ser executados digitando comandos no shell do netsh e podem ser usados em arquivos ou scripts em lotes. Os computadores remotos e o computador local podem ser configurados usando comandos netsh.

O Netsh também fornece um recurso de script com o qual você pode executar um grupo de comandos no modo em lote para um computador especificado. Com o Netsh, você pode salvar um script de configuração em um arquivo de texto para fins de arquivamento ou para ajudar você a configurar outros computadores.

Sintaxe

netsh
netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName\]UserName] [-p Password | *] [Command | -f ScriptFile]

Os parâmetros a seguir são considerados opcionais.

Parâmetro Descrição
-a Especifica que você é levado de volta ao shell do netsh depois de executar AliasFile.
AliasFile Especifica o nome do arquivo de texto que contém um ou mais comandos netsh.
-c Especifica que o netsh insere o contexto do netsh especificado.
Context Especifica o contexto do netsh que você deseja inserir.
-r Especifica que você deseja que o comando seja executado em um computador remoto. O serviço Registro Remoto deve estar em execução no computador remoto. Se não estiver em execução, o Windows exibirá uma mensagem de erro "Caminho de Rede não encontrado".
RemoteComputer Especifica o computador remoto que você deseja configurar.
-u Especifica que você deseja executar o comando netsh em uma conta de usuário.
DomainName\ Especifica o domínio em que a conta de usuário está localizada. O padrão será o domínio local se DomainName\ não for especificado.
UserName Especifica o nome da conta de usuário.
-p Especifica que você deseja fornecer uma senha para a conta de usuário.
Password Especifica a senha da conta de usuário que você especificou com -uUserName.
Command Especifica o comando netsh que você deseja executar.
-f Sai do netsh depois de executar o script que você designa com ScriptFile.
ScriptFile Especifica o script que você deseja executar.

Observação

Se você especificar -r seguido por outro comando, o netsh executará o comando no computador remoto e voltará para o prompt de comando. Se você especificar -r sem outro comando, o netsh será aberto no modo remoto. O processo é semelhante ao uso de set machine no shell de comando do netsh. Quando você usa -r , você define o computador de destino da instância atual do netsh somente. Depois de sair e entrar novamente no netsh, o computador de destino será redefinido como o computador local. Você pode executar comandos netsh em um computador remoto especificando um nome do computador armazenado no WINS, um nome UNC, um nome de Internet a ser resolvido pelo servidor DNS ou um endereço IP.

Executar comandos netsh

Para executar um comando netsh, você deve iniciar o netsh no prompt de comando ou no PowerShell digitando netsh e pressionando ENTER. Em seguida, você pode mudar para o contexto que contém o comando que deseja usar. Os contextos disponíveis dependem dos componentes de rede instalados.

Por exemplo, se você digitar dhcp no shell do netsh e pressionar ENTER, o netsh mudará para o contexto do servidor DHCP. Se você não tiver a função de servidor DHCP instalada, a seguinte mensagem será exibida:

The following command was not found: dhcp.

Contextos netsh

O netsh interage com outros componentes do sistema operacional usando arquivos DLL (biblioteca de vínculo dinâmico).

Cada DLL auxiliar do netsh fornece um amplo conjunto de recursos chamado de contexto, que é um grupo de comandos específicos a uma função de servidor de rede ou recurso. Esses contextos ampliam a funcionalidade do netsh fornecendo suporte de configuração e monitoramento para um ou mais serviços, utilitários ou protocolos.

Por exemplo, Dhcpmon.dll fornece o netsh com o contexto e o conjunto de comandos necessários para configurar e gerenciar servidores DHCP.

Você pode obter uma lista de contextos do netsh abrindo o prompt de comando ou o Windows PowerShell, digitando netsh /? ounetsh help e pressionando ENTER.

Confira o exemplo de saída abaixo:

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 ?.

Subcontextos do netsh

Os contextos netsh podem conter comandos e contextos adicionais, chamados subcontextos. Por exemplo, dentro do contexto de interface, você pode alterar para os subcontextos IPv4 e IPv6.

Para exibir uma lista de comandos e subcontextos que podem ser usados em um contexto, no shell do netsh, digite o nome do subcontexto e digite ? ou help. Por exemplo:

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 ?.

Para executar tarefas em outro contexto sem alterar o contexto atual, digite o caminho de contexto do comando que você deseja usar no shell do netsh. Por exemplo, para adicionar um endereço IPv4 estático para "NetLAN1" e especificar a máscara de sub-rede e o gateway, digite:

netsh interface ipv4 set address "NetLAN1" static <IP_Address> <Subnet_Mask> <Gateway>

Legenda de formatação

Você pode usar a legenda de formatação a seguir para interpretar e usar a sintaxe de comando netsh correta quando executar o comando no shell do netsh, em um arquivo em lotes ou script.

  • O texto em itálico é a informação que você deve fornecer enquanto digita o comando. Por exemplo, se um comando tiver um parâmetro denominado -UserName, você deverá digitar o nome de usuário real.
  • O texto em negrito é a informação que você deve digitar exatamente conforme mostrado enquanto você digita o comando.
  • O texto seguido por reticências (...) é um parâmetro que pode ser repetido várias vezes em uma linha de comando.
  • O texto entre colchetes [ ] é um item opcional.
  • O texto entre chaves { } com opções separadas por uma barra vertical fornece um conjunto de opções nas quais você precisa selecionar apenas uma, como {enable|disable}.
  • O texto formatado com a fonte Courier é a saída do código ou do programa.

Valores de cadeia de caracteres para comandos netsh

Há comandos que contêm parâmetros para os quais um valor de cadeia de caracteres é necessário. No caso em que um valor de cadeia de caracteres contenha espaços entre os caracteres, será necessário que você coloque o valor da cadeia de caracteres entre aspas duplas.

Ao definir o parâmetro interface para redes IPv4 com um valor de cadeia de caracteres de Conexão de Rede Sem Fio para DHCP, use aspas duplas em torno do valor da cadeia de caracteres. Por exemplo:

netsh interface ipv4>set address name="Wireless Network Connection" dhcp

Como alternativa, para interfaces de rede, o número de índice pode ser usado no lugar do nome associado a ele. Por exemplo:

netsh interface ipv4>set address name=15 dhcp

Para localizar o nome ou índice das interfaces conectadas, você deve estar no subcontexto da interface IPv4 ou IPv6 e digitar show interfaces. Por exemplo:

netsh interface ipv4>show interfaces
netsh interface ipv6>show interfaces

Confira também