Começando com a Configuração de IP no Windows PowerShell

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.

Neste tutorial, você aprenderá como usar alguns cmdlets de gerenciamento de rede no PowerShell para ajudar a gerenciar o endereço IP, gateway e configurações DNS de um host Windows.

Continue lendo e aprimore suas habilidades de solução de problemas de rede com comandos de configuração de IP do PowerShell!

Pré-requisitos

Este tutorial inclui demonstrações práticas. Você precisará de acesso administrativo ao PowerShell em um sistema operacional Windows moderno para seguir adiante. Este tutorial usa o Windows Server 2022, mas os comandos funcionam nas versões do Windows 10 e mais recentes.

Obtendo Propriedades do Adaptador de Rede (Get-NetAdapter)

Ao solucionar ou reunir o endereço IP de um host, você poderia usar ferramentas tradicionais como ping, ipconfig ou sconfig. Mas com os cmdlets do PowerShell, você pode automatizar esse processo com scripts.

Abra o PowerShell e execute o cmdlet Get-NetAdapter abaixo para obter a lista de adaptadores de rede e suas propriedades, como o InterfaceAlias e InterfaceIndex do seu host.

Get-NetAdapter
Getting network adapters’ properties

Observe que seu adaptador ainda não possui um objeto de endereço IP. Você precisa saber qual você vai usar. Para este tutorial, você está trabalhando com o alias do adaptador Ethernet.

Recuperando uma Configuração de IP do PowerShell (Get-NetIPAddress)

Você listou anteriormente todas as interfaces de rede com um único comando. No entanto, você também pode listar os valores das propriedades e o endereço IP atual do seu host através do cmdlet Get-NetIPAddress.

Execute o comando abaixo (sem parâmetros) para exibir o endereço de cada adaptador e a configuração IP do PowerShell.

Get-NetIPAddress
Getting all IP address configurations

Agora, execute o seguinte comando para limitar a saída (Select-Object) para o InterfaceAlias e IPAddress do Ethernet.

Get-NetIPAddress -InterfaceAlias Ethernet | Select-Object -Property InterfaceAlias,IPAddress
Finding the IP address assigned to an interface (Ethernet)

Obtendo Informações de Rota IP (Get-NetRoute)

Um endereço IP permite que um host se comunique com outros na mesma rede. Mas e se o host precisar se comunicar fora dessa rede?

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.

Execute o comando Get-NetRoute abaixo para verificar o gateway atual (NextHop) para a interface Ethernet.

Get-NetRoute -InterfaceAlias Ethernet | Where-Object -Property RouteMetric -EQ 0 | Select-Object -Property NextHop

Normalmente, um servidor DHCP fornece o endereço do gateway. Você vai querer capturar esse endereço mais tarde para este artigo.

Finding the gateway address assigned to an interface

Obtendo Endereços IP do Servidor DNS (Get-DnsClientServerAddress)

DNS é necessário para a resolução de nomes tanto para redes internas quanto externas. Sem DNS, você teria que lembrar do endereço de internet de cada host em sua rede.

Mas é provável que o seu host já tenha o DNS configurado através do DHCP. Você pode usar o cmdlet Get-DnsClientServerAddress para verificar a configuração atual.

Get-DnsClientServerAddress

Anote os endereços IP redirecionando a saída para um arquivo de texto ou anotando-os. Você precisará reatribuir esses endereços de servidor DNS posteriormente neste tutorial.

Verifying the current DNS configuration

Obtendo Configurações de Rede IP (Get-NetIPConfiguration)

Quando você precisar das informações dos três cmdlets anteriores em uma única execução, o cmdlet Get-NetIPConfiguration pode resolver. Uma característica proeminente deste cmdlet é fornecer informações mais direcionadas.

Execute o cmdlet Get-NetIPConfiguration abaixo para exibir as configurações de rede IP coletadas pelos cmdlets anteriores que você executou.

Get-NetIPConfiguration
Getting IP network configurations

O cmdlet Get-NetIPConfiguration é mais rápido se você tiver apenas uma interface de rede. Mas se tiver mais de uma interface de rede, pode ser necessário filtrar as propriedades para evitar que o console role indefinidamente.

Configurando o Endereço IP, Gateway e DNS Manualmente

Com os cmdlets que você aprendeu até agora, é hora de colocar seu novo conhecimento em prática. Para este tutorial, você atribuirá um endereço IP estático, gateway e servidores DNS a um host do Windows Server 2022.

Os comandos a partir deste ponto alteram apenas as configurações de IP, gateway e DNS para o adaptador de rede especificado. Você deve repetir essas etapas para cada adaptador que deseja alterar.

1. Abra o PowerShell como administrador, e execute o seguinte comando para listar os adaptadores de rede em seu servidor.

Get-NetAdapter

Encontrar o comando de listagem de adaptadores de rede instalados

Identifique o adaptador de rede que deseja alterar. Você pode usar o nome do adaptador ou o número do índice exibido na lista (ou seja, Ethernet).

Current network adapter properties of all installed adapters

Em seguida, execute o comando Net-NetIPAddress abaixo para alterar o endereço IPv4 do seu adaptador de rede. O -PrefixLength de 24 indica que os primeiros 24 bits do endereço IP são usados para a porção de rede do endereço. Certifique-se de substituir o seguinte conforme necessário:

  • AdapterName – O nome ou número de índice do seu adaptador de rede de destino.
  • ServerAddress – O endereço IPv4 a ser adicionado ao adaptador de rede.
  • GatewayAddress – O endereço do gateway deve estar na mesma sub-rede que o endereço IPv4.
New-NetIPAddress -InterfaceAlias "[AdapterName]" -IPAddress [ServerAddress] -PrefixLength 24 -DefaultGateway [GatewayAddress]
Setting a new IP address and gateway

Relacionado ao cmdlet New-NetIPAddress está Set-NetIPAddress, que altera a configuração IP existente, enquanto Remove-NetIPAddress elimina uma configuração.

3. Agora, execute o seguinte comando Set-DnsClientServerAddress, que não produz saída, mas altera os servidores DNS. Certifique-se de substituir AdapterName pelo nome do seu adaptador de rede (-InterfaceAlias) ou número de índice (-InterfaceIndex). Este comando define os servidores DNS para o seu adaptador de rede para os servidores DNS públicos do Google em 8.8.8.8 e 8.8.4.4. Mas você pode especificar quaisquer endereços IP de servidor DNS válidos que desejar.

Set-DnsClientServerAddress -InterfaceAlias "[AdapterName]" -ServerAddresses 8.8.8.8, 8.8.4.4

Observe que com o cmdlet Set-DnsClientServerAddress, você pode atribuir um ou mais endereços IP de DNS internos ou voltados para o público.

4. Por último, execute o seguinte comando Restart-NetAdapter, que não imprime saída no console mas reinicia seu adaptador de rede e aplica as mudanças. Parabéns! Você acabou de configurar manualmente sua interface de rede com uma configuração personalizada.

Restart-NetAdapter -Name Ethernet

Se o seu host tiver apenas um adaptador, como neste tutorial, você pode perder conectividade brevemente, dependendo de como está conectado. Este último passo é essencial para completar e começar a usar o novo endereço IP.

Conclusão

Conhecer a configuração da sua rede é crucial para manter uma rede saudável. A boa notícia é que você aprendeu sobre quatro comandos básicos de configuração de rede disponíveis nos cmdlets de configuração IP do PowerShell.

Com esse conhecimento recém-adquirido, você pode facilmente criar um script usando as capacidades de configuração de IP do PowerShell como parte de um processo de configuração de servidor mais amplo.

O que vem a seguir? Que tal tentar ajustar opções mais avançadas, como MTU, adicionar mais rotas ou redefinir um adaptador para usar DHCP em vez de um endereço estático?

Source:
https://adamtheautomator.com/powershell-ip-configuration/