Como obter o endereço IPv4 no PowerShell
-
Use
Get-NetIPAddress
para obter o endereço IPv4 em uma variável no PowerShell -
Use
Get-NetIPConfiguration
para obter o endereço IPv4 em uma variável no PowerShell -
Use
Dns class
para obter o endereço IPv4 em uma variável no PowerShell -
Use
Get-WmiObject
para obter o endereço IPv4 em uma variável no PowerShell -
Use
Test-Connection
para obter o endereço IPv4 em uma variável no PowerShell -
Use
Get-CimInstance
para obter o endereço IPv4 em uma variável no PowerShell - Conclusão

Administradores de sistema podem realizar várias tarefas no PowerShell, incluindo tarefas de rede.
Por exemplo, o PowerShell permite listar endereços IP e configurações de IP, fazer ping em um computador, recuperar propriedades do adaptador de rede, executar tarefas de configuração DHCP e criar/remover um compartilhamento de rede.
IP significa Protocolo da Internet, e v4 significa Versão Quatro.
Um endereço IPv4 é um inteiro de 32 bits que identifica uma interface de rede em uma máquina. É expresso em notação decimal pontuada.
Possui quatro campos de 8 bits separados por pontos, e cada campo de 8 bits representa um byte do endereço IPv4. Este tutorial irá ensiná-lo a obter um endereço IPv4 em uma variável no PowerShell.
Use Get-NetIPAddress
para obter o endereço IPv4 em uma variável no PowerShell
O cmdlet Get-NetIPAddress
obtém a configuração do endereço IP, como endereços IPv4, endereços IPv6 e as interfaces IP associadas a endereços.
Quando executado sem parâmetros, imprime toda a configuração do endereço IP para o computador.
O parâmetro --AddressFamily
é usado para especificar um array de famílias de endereços IP. O Get-NetIPAddress
obtém a configuração do endereço IP que corresponde às famílias de endereços com este parâmetro.
Os valores aceitos são IPv4
e IPv6
.
Por exemplo, o comando abaixo obtém informações sobre a configuração do endereço IP para todos os endereços IPv4 no computador.
Get-NetIPAddress -AddressFamily IPv4
Este comando obtém apenas o endereço IPv4
do computador.
(Get-NetIPAddress | Where-Object { $_.AddressState -eq "Preferred" -and $_.ValidLifetime -lt "24:00:00" }).IPAddress
No trecho de código fornecido, utilizamos o cmdlet Get-NetIPAddress
para coletar dados do endereço IP, seguido pelo cmdlet Where-Object
para filtrar resultados com base em critérios específicos encapsulados entre chaves. As condições dentro do bloco Where-Object
, denotadas pelos operadores de comparação -eq
e -lt
, visam endereços IP no estado Preferido
e aqueles com um tempo de vida válido menor que 24 horas, respectivamente.
Ao acessar a propriedade IPAddress
dos resultados filtrados, encerrada em parênteses, isolamos e exibimos os endereços IPv4 que atendem às condições estabelecidas. Esta análise concisa destaca a abordagem orientada a pipelines no PowerShell, onde cada cmdlet processa eficientemente fluxos de dados para produzir saídas refinadas.
Saída:
Você também pode usar o seguinte comando para obter um endereço IPv4 no PowerShell.
Get-NetIPAddress -AddressFamily IPv4 -InterfaceIndex $(Get-NetConnectionProfile | Select-Object -ExpandProperty InterfaceIndex) | Select-Object -ExpandProperty IPAddress
No exemplo de código fornecido, utilizamos o cmdlet Get-NetIPAddress
para buscar informações sobre o endereço IP. Ao especificar -AddressFamily IPv4
, restringimos os resultados a endereços IPv4.
O parâmetro -InterfaceIndex
é preenchido com o índice da interface recuperado usando Get-NetConnectionProfile
, garantindo que os endereços IP associados à conexão de rede atual sejam obtidos. Finalmente, usamos Select-Object -ExpandProperty IPAddress
para extrair e exibir os endereços IP da saída.
Saída:
Use Get-NetIPConfiguration
para obter o endereço IPv4 em uma variável no PowerShell
O cmdlet Get-NetIPConfiguration
é uma ferramenta poderosa usada para recuperar informações sobre endereços IP em sistemas Windows. Este método fornece dados abrangentes sobre configurações de IP, incluindo endereços IPv4 e IPv6, máscaras de sub-rede, gateways padrão e status de adaptadores de rede, ajudando administradores e scripters em tarefas relacionadas à rede.
Exemplo:
(Get-NetIPConfiguration | Where-Object { $_.IPv4DefaultGateway -ne $null -and $_.NetAdapter.status -ne "Disconnected" }).IPv4Address.IPAddress
No trecho de código fornecido, utilizamos o cmdlet Get-NetIPConfiguration
para coletar informações sobre endereços IP, seguido pelo cmdlet Where-Object
para filtrar resultados com base em critérios específicos encapsulados entre chaves. As condições dentro do bloco Where-Object
, denotadas pelo operador de comparação -ne
, visam configurações com um gateway padrão IPv4 não nulo e adaptadores de rede que não estão em um status Desconectado
, respectivamente.
Ao acessar a propriedade IPAddress
dos resultados filtrados, encerrada em parênteses, isolamos e exibimos os endereços IPv4 que atendem aos critérios estabelecidos. Esta análise concisa destaca a capacidade do pipeline do PowerShell de processar fluxos de dados de forma eficiente, permitindo saídas refinadas que ajudam em tarefas de configuração e resolução de problemas de rede.
Saída:
Use Dns class
para obter o endereço IPv4 em uma variável no PowerShell
A classe Dns
é uma classe estática que obtém informações sobre um host específico do Sistema de Nomes de Domínio da Internet (DNS). O método GetHostAddresses
retorna os endereços IP para o host especificado.
Essa abordagem pode ser particularmente útil em ambientes onde o acesso direto a cmdlets como Get-NetIPConfiguration
ou Get-NetIPAddress
não está disponível ou não é adequado.
Exemplo:
([System.Net.DNS]::GetHostAddresses($env:computername) | Where-Object { $_.AddressFamily -eq "InterNetwork" } | Select-Object IPAddressToString)[0].IPAddressToString
No exemplo de código fornecido, usamos [System.Net.DNS]::GetHostAddresses
para recuperar os endereços IP associados ao computador local especificado por $env:computername
. Em seguida, filtramos os resultados usando Where-Object
para selecionar apenas endereços IPv4 (AddressFamily -eq "InterNetwork"
).
A seguir, usamos Select-Object IPAddressToString
para extrair o endereço IP como uma representação em string. Por fim, [0].IPAddressToString
seleciona o primeiro endereço IP do resultado e o exibe como uma string.
Saída:
Use Get-WmiObject
para obter o endereço IPv4 em uma variável no PowerShell
O cmdlet Get-WmiObject
obtém instâncias de classes de Instrumentação de Gerenciamento do Windows (WMI) ou informações sobre as classes WMI disponíveis.
A classe Win32_NetworkAdapterConfiguration
é uma classe WMI que representa os atributos e comportamentos de um adaptador de rede.
Exemplo:
(Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object { $_.DHCPEnabled -ne $null -and $_.DefaultIPGateway -ne $null }).IPAddress | Select-Object -First 1
No trecho de código fornecido, usamos Get-WmiObject
para consultar a classe Win32_NetworkAdapterConfiguration
, recuperando detalhes de configuração do adaptador de rede. Em seguida, aplicamos um filtro Where-Object
para selecionar configurações onde o DHCP está ativado e um gateway padrão está especificado.
Isso garante que estamos recuperando endereços IP associados a conexões de rede ativas. Por fim, usamos Select-Object -First 1
para selecionar o primeiro endereço IP dos resultados.
Saída:
Use Test-Connection
para obter o endereço IPv4 em uma variável no PowerShell
O cmdlet Test-Connection
envia pacotes de solicitação de eco ICMP, ou pings, para um ou mais computadores e retorna as respostas de eco. Também pode determinar se um computador específico pode ser contatado através de uma rede IP.
Exemplo:
(Test-Connection -ComputerName (hostname) -Count 1 | select -ExpandProperty IPv4Address).IPAddressToString
No exemplo de código fornecido, usamos Test-Connection
para pingar um host remoto especificado por (hostname)
e recuperar informações relacionadas à rede. O parâmetro -Count 1
garante que apenas uma única solicitação de eco seja enviada ao computador alvo, minimizando o tráfego de rede.
Em seguida, usamos Select-Object -ExpandProperty IPv4Address
para extrair e exibir o endereço IPv4 do host remoto da saída.
Se você tiver qualquer adaptador virtual, ele retorna um endereço IPv4 de adaptadores virtuais (por exemplo, VPN, Hyper-V, Docker).
Saída:
Você também pode usar este comando, que retorna a mesma saída que acima.
(Test-Connection -ComputerName $env:computername -Count 1).IPv4Address.IPAddressToString
No exemplo de código fornecido, utilizamos Test-Connection
para pingar o sistema local especificado por $env:computername
e recuperar informações relacionadas à rede. Ao especificar -Count 1
, enviamos uma única solicitação de ping ao sistema local, minimizando o tráfego de rede.
Em seguida, acessamos a propriedade IPv4Address
do objeto de saída e acessamos ainda mais a propriedade IPAddressToString
para recuperar o endereço IPv4 como uma string.
Saída:
Use Get-CimInstance
para obter o endereço IPv4 em uma variável no PowerShell
O cmdlet Get-CimInstance
oferece uma abordagem robusta para recuperar informações do repositório de Instrumentação de Gerenciamento do Windows (WMI), permitindo que administradores consultem configurações de adaptadores de rede facilmente. Ao direcionar a classe CIM Win32_NetworkAdapterConfiguration
, este método permite aos usuários obter detalhes abrangentes sobre configurações de rede, incluindo endereços IP, máscaras de sub-rede, gateways padrão e muito mais.
Exemplo:
(Get-CimInstance -ClassName Win32_NetworkAdapterConfiguration | Where-Object { $_.IPAddress -ne $null }).IPAddress[0]
No exemplo de código fornecido, utilizamos Get-CimInstance
para consultar a classe CIM Win32_NetworkAdapterConfiguration
, recuperando informações sobre configurações de adaptadores de rede. O cmdlet Where-Object
filtra os resultados para selecionar configurações onde a propriedade IPAddress
não é nula, garantindo que apenas configurações de adaptadores de rede com endereços IP atribuídos sejam retornadas.
Ao acessar o índice [0]
, selecionamos o primeiro endereço IP do conjunto de resultados, o que pode ser útil ao lidar com vários adaptadores de rede ou endereços. Esta abordagem fornece aos administradores uma maneira concisa de recuperar o endereço IP principal associado ao sistema, facilitando a gestão de rede e tarefas de resolução de problemas.
Saída:
Conclusão
Neste artigo, exploramos vários métodos para recuperar o endereço IPv4 no PowerShell, aproveitando diferentes cmdlets e classes disponíveis no ecossistema PowerShell. Começando com Get-NetIPAddress
, aprendemos como buscar informações sobre endereços IP com opções de filtragem específicas, seguido por Get-NetIPConfiguration
, que fornece dados abrangentes sobre configurações de IP em sistemas Windows.
Em seguida, exploramos o uso da classe Dns
para cenários onde o acesso direto a cmdlets não está disponível. Além disso, examinamos o uso de Get-WmiObject
para consultar configurações de adaptadores de rede via WMI e Test-Connection
para pingar hosts remotos e coletar detalhes do endereço IP.
Finalmente, mergulhamos na utilização do Get-CimInstance
para recuperar configurações de adaptadores de rede de forma eficiente do repositório WMI. Cada método oferece vantagens únicas, atendendo a diferentes casos de uso e cenários em administração de rede e tarefas de resolução de problemas.