CMDLET: como gerenciar interface de rede no Windows via PowerShell

Como considero de fundamental importância um Profissional de TI trabalhar com linha de comando, estou retornando neste artigo para demonstrar como gerenciar interface de rede no Windows através de cmdlets do PowerShell.

Quando me refiro em gerenciar a interface de rede, digo que nela poderemos estar adicionando/alterando o IP fixo ou dinâmico, definindo a máscara de sub-rede, setando o gateway e também o servidor DNS.

Conforme demonstrado nos artigos anteriores, iremos abrir o Windows PowerShell (Admin). Estaremos abrindo como administrador, para obtermos melhor demonstração e que não tenha restrição de permissões nos comandos.

Gerenciando interface de rede via PowerShell no Windows

O primeiro passo que iremos fazer ao abrir o PowerShell e obter todas as informações das interfaces de rede instaladas no computador local. Para isso iremos digitar o comando (cmdlet) “Get-NetIPConfiguration“.

Para  melhor compreensão dos cmdlets, estarei colocando as letras iniciais em caixa alta (maiúscula), mas pode ser colocado tudo em minúsculo que o comando será aceito também.

IP_PowerShell_01

Podemos verificar todos os dispositivos de rede instalados no computador.

Como trabalho com máquinas virtuais no Hyper-V e no VirtualBox da Oracle, estão instaladas também interfaces de redes virtuais.

Nesta demonstração, estarei utilizando o dispositivo Wi-Fi, o qual será fixado um endereço IP. Para isso, devemos pegar algumas informações passadas pelo cmdlet “Get-NetIPConfiguration” que são o IPv4DefaultGateway e a InterfaceAlias.

IP_PowerShell_02

Como reparamos na imagem acima, o IP que está no dispositivo Wi-fi é o 192.168.0.20.

A nível de demonstração, iremos “pingar” neste IP para ver se realmente está comunicando. Para fazermos isso via cmdlet do PowerShell, iremos digitar “Get-CimInstance -Class Win32_PingStatus -Filter “Address=’192.168.0.20′”.

Na imagem abaixo, está demonstrado como aparece a informação do ping com este cmdlet.

IP_PowerShell_03

Agora iremos pingar no IP que queremos atribuir a este dispositivo de rede. Para isso iremos utilizar o mesmo comando, porém, filtrando pelo IP 192.168.0.9 que é o qual queremos utilizar. O comando completo fica desta forma:  Get-CimInstance -Class Win32_PingStatus -Filter “Address=’192.168.0.9′”. Podemos reparar que está livre pelo fato dos campos referentes ao tempo de resposta, IPV4 e IPV6 estarem vazios.

IP_PowerShell_04

Para atribuir um novo IP a interface Wi-Fi, utilizamos o cmdlet New-NetIPAddress 192.18.0.9 -InterfaceAlias Wi-Fi -DefaultGateway 192.168.0.1 -AddressFamily IPv4 -PrefixLength 24. Onde estaremos adicionando o IP 192.168.0.9 no dispositivo com o alias (apelido/pseudônimo) Wi-Fi, gateway padrão 192.168.0.1, da família IPv4 e o PrefixLength (tamanho do prefixo) 24. O 24 é referenciada a máscara de sub-rede 255.255.255.0.

Ao utilizar este comando deu erro, pois eu já havia atribuído o Gateway como podemos ver na imagem que obtivemos com o cmdlet Get-NetIPConfiguration. Então, irei remover as configurações para fazer de novo.

IP_PowerShell_05

Para removermos as configurações de IP, primeiramente iremos utilizar o comando (cmdlet) Restart-NetAdapter -InterfaceAlias Wi-Fi.

IP_PowerShell_06

O próximo comando iremos utilizar para excluir o IP que estava atribuído ao dispositivo Wi-Fi.

Para isso iremos digitar Remove-NetIPAddress 192.168.0.20 -InterfaceAlias Wi-Fi.

Para não ficar respondendo todas as perguntas, iremos digitar “A” seguido da tecla <enter> para responder “Sim para Todos”.

IP_PowerShell_07

Agora podemos atribuir um novo IP com o comando New-NetIPAddress -InterfaceAlias Wiaparece-fi 192.168.0.9 -DefaultGateway 192.168.0.1 -AddressFamily IPv4 -PrefixLength 24 o qual já explicamos anteriormente.

Iremos reparar que ao atribuir um novo IP, aparecerá todas as informações atualizadas da interface de rede Wi-Fi.

IP_PowerShell_08

Se ainda precisarmos adicionar o servidor DNS a este dispositivo, utilizaremos o comando Set-DnsClientServerAddress -InterfaceAlias Wi-Fi -ServerAddress 8.8.8.8, 8.8.4.4, onde 8.8.8.8 é o DNS Primário e o IP 8.8.4.4 é o DNS Secundário.

IP_PowerShell_09

Agora para verificarmos se de fato foram alteradas as configurações do dispositivo, podemos digitar o cmdlet Get-NetIPConfiguration que teremos todas as informações atualizadas.

IP_PowerShell_12

Se quisermos alterar de IP Fixo que atribuímos para o IP Dinâmico, utilizaremos o comando Set-NetIPInterface -InterfaceAlias Wi-Fi -Dhcp enabled e se quisermos tirar o endereço do Servidor DNS ficando automático, utilizaremos o comando Set-DnsClientServerAddress -InterfaceAlias Wi-Fi -ResetServerAddresses.

IP_PowerShell_11

O que podemos notar, é que quando quiser reconfigurar um dispositivo como no caso aqui foi o de rede, sempre será especificado qual o dispositivo pela instrução -InterfaceAlias .

Também propositalmente foi demonstrado o erro que deu ao tentar atribuir o IP e o Gateway novamente. Se precisasse, poderíamos, por exemplo, ter atribuído mais um IP ao dispositivo pelo comando New-IpAddress -InterfaceAlias Wi-Fi 192.168.0.50.

Espero que este tutorial tenha lhe ajudado a gerenciar interface de rede no Windows via PowerShell.

Até a próxima!

Luciano Gusso

Mais artigos deste autor »

Formado em Analise e Desenvolvimento de Sistemas, com MBA em Gestão de Projetos.
Trabalhando há mais de 20 anos na área de TI, prestando suporte técnico e consultoria à empresas e usuários finais.


1 Comentários

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!