- Visão geral
- Convenção de variáveis
- Passo 1: Conferir o estado atual da rede
- Passo 2: Trocar de DHCP para IP estático
- Passo 3: Definir servidores DNS
- Passo 4: Prioridade em ambientes com múltiplas NICs
- Passo 5: Testes de funcionamento
- Passo 6: Desativar IPv6 (conforme a política)
- Passo 7: Boas práticas
- Habilitar/desabilitar adaptador de rede
- Remover IP fixo e voltar ao DHCP
- Conclusão
Visão geral
Este artigo explica como gerenciar de forma unificada as configurações de rede no Windows Server usando PowerShell.
Abordamos IP estático, definição de DNS, ajuste de prioridade de roteamento e cuidados em ambientes com múltiplas NICs.
Convenção de variáveis
| Variável | Exemplo | Descrição |
|---|---|---|
<<INTERFACE_ALIAS>> |
Ethernet0 |
Nome do adaptador de rede alvo |
<<IP_ADDRESS>> |
192.168.10.100 |
Endereço IP fixo |
<<PREFIX_LENGTH>> |
24 |
Comprimento do prefixo (ex.: 24 para 255.255.255.0) |
<<GATEWAY>> |
192.168.10.1 |
Gateway padrão |
<<DNS1>> |
192.168.10.10 |
Servidor DNS primário |
<<DNS2>> |
8.8.8.8 |
Servidor DNS secundário (opcional) |
Passo 1: Conferir o estado atual da rede
Liste as NICs e verifique a configuração IP.
# Listar adaptadores
Get-NetAdapter | Select-Object Name, Status, MacAddress, LinkSpeed
# Verificar configuração IP
Get-NetIPAddress | Select-Object InterfaceAlias, IPAddress, PrefixLength, DefaultGateway, PrefixOrigin
| OriginType | Significado | Observação |
|---|---|---|
| Manual | Endereço estático configurado manualmente | Definido via GUI ou PowerShell |
| DHCP | Endereço obtido automaticamente por servidor DHCP | Ativado com Set-NetIPInterface -Dhcp Enabled |
| WellKnown | Endereço reservado pelo sistema (link-local/APIPA) | Ex.: 169.254.x.x quando não há resposta DHCP |
Passo 2: Trocar de DHCP para IP estático
Desative o DHCP e defina um IP fixo.
# Desativar DHCP
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -Dhcp Disabled
# Remover endereço obtido por DHCP (se existir)
Get-NetIPAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -AddressFamily IPv4 |
Where-Object { $_.PrefixOrigin -eq "Dhcp" } |
Remove-NetIPAddress -Confirm:$false
# Definir IP estático
New-NetIPAddress `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-IPAddress "<<IP_ADDRESS>>" `
-PrefixLength <<PREFIX_LENGTH>> `
-DefaultGateway "<<GATEWAY>>"
Atenção:
UseRemove-NetIPAddressapenas para remover atribuições de DHCP.
Executar em uma NIC usada pela sua sessão remota pode derrubar a conexão.
Passo 3: Definir servidores DNS
Configure os endereços DNS e valide a aplicação.
# Configurar DNS
Set-DnsClientServerAddress `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ServerAddresses ("<<DNS1>>","<<DNS2>>")
# Conferir
Get-DnsClientServerAddress -InterfaceAlias "<<INTERFACE_ALIAS>>"
Limpe o cache DNS e teste a resolução.
Clear-DnsClientCache
Resolve-DnsName "www.microsoft.com"
Passo 4: Prioridade em ambientes com múltiplas NICs
Controle a prioridade de roteamento via InterfaceMetric (quanto menor, maior a prioridade).
# Ver prioridades atuais
Get-NetIPInterface | Sort-Object -Property InterfaceMetric |
Select-Object InterfaceAlias, AddressFamily, InterfaceMetric
# Ajustar prioridade (dar preferência à NIC de gestão)
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -InterfaceMetric 10
Sugestões de métrica:
- LAN de gestão:
10- LAN de backup:
20–50- Tráfego de cluster/iSCSI:
100ou maior
Passo 5: Testes de funcionamento
# Alcance ao gateway
Test-Connection "<<GATEWAY>>" -Count 4
# Resolução de nomes
Resolve-DnsName "www.microsoft.com"
Dica:
Se as definições de DNS não surtirem efeito, reinicie o serviço do cliente DNS:net stop dnscache && net start dnscache
Passo 6: Desativar IPv6 (conforme a política)
Por padrão, IPv4 e IPv6 coexistem. Se sua rede não usa IPv6, você pode desativá-lo para evitar rotas/anúncios e variações indesejadas de resolução.
# Ver estado do binding IPv6
Get-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6"
# Desativar IPv6
Disable-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6" `
-PassThru
# Confirmar
Get-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6"
Para reativar:
Enable-NetAdapterBinding `
-InterfaceAlias "<<INTERFACE_ALIAS>>" `
-ComponentID "ms_tcpip6"
Passo 7: Boas práticas
- Fixar nomes de NIC
Evite confusão após updates/reenumeração usando nomes gerenciais:Rename-NetAdapter -Name "<<INTERFACE_ALIAS>>" -NewName "LAN-Primary" - Remover rotas desnecessárias
Elimine rotas padrão duplicadas/indevidas:Get-NetRoute -AddressFamily IPv4 Remove-NetRoute -DestinationPrefix "0.0.0.0/0" -InterfaceAlias "BackupNIC" -Confirm:$false
Habilitar/desabilitar adaptador de rede
# Desabilitar adaptador
Disable-NetAdapter -Name "<<INTERFACE_ALIAS>>" -Confirm:$false
# Habilitar adaptador
Enable-NetAdapter -Name "<<INTERFACE_ALIAS>>"
Remover IP fixo e voltar ao DHCP
Remove-NetIPAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -IPAddress "<<IP_ADDRESS>>" -Confirm:$false
Set-NetIPInterface -InterfaceAlias "<<INTERFACE_ALIAS>>" -Dhcp Enabled
Conclusão
Com PowerShell, as configurações de rede no Windows Server tornam-se precisas, reproduzíveis e fáceis de automatizar.
Em hosts com múltiplas NICs, prioridade de roteamento e DNS explícito são pilares da estabilidade.
Incorpore scripts desde a fase inicial para padronizar e acelerar implantações e reconstruções de ambiente.
