Sempre que seu computador estiver conectado a uma rede ou à Internet, seu dispositivo terá dois endereços IP: o endereço IP público e o endereço IP privado.

Todos os dispositivos na Internet usam seu IP público para comunicação, enquanto o IP privado é apenas para sua rede local. Na verdade, quando a maioria usa o termo”endereço IP”, eles na verdade se referem a um endereço IP privado.

Você pode descobrir o IP privado e público do seu computador por meio do PowerShell de diferentes maneiras. Também mostrarei como para atribuir o endereço IP a uma variável, o que é útil se você estiver escrevendo um script do PowerShell.

Como obter um endereço IP privado no PowerShell?

Você pode usar vários tipos de gerenciamento de dispositivos e específicos de TCP/IP da rede-cmdlets relacionados no PowerShell para obter o endereço IP privado. Esses cmdlets verificam suas configurações de rede e adaptador de rede, incluindo esses dados.

Além disso, embora todos esses cmdlets permitam que você obtenha o endereço IP, eles mostram outros parâmetros também. Como o tipo de parâmetro difere entre os cmdlets, você pode preferir um sobre o outro, dependendo da sua situação.

Usando Get-NetIPAddress

A maneira padrão de exibir o O endereço IP no PowerShell é feito usando o cmdlet Get-NetIPAddress, que mostra a configuração do endereço IP.

Este cmdlet lista a configuração de IP de todas as redes físicas e virtuais em seu sistema. Portanto, você precisa combiná-lo com um cmdlet adicional para restringir o resultado à rede atual.

Usando Get-NetIPConfiguration

Outra maneira de determinar o endereço IP atual é por verificando a configuração de rede atual via Get-NetIPConfiguration.

Como no caso acima, Get-NetIPConfiguration também lista todas as configurações de rede. Portanto, é melhor usar o cmdlet Where-Object para listar apenas os detalhes da rede atual.

Usando IPConfig

IPConfig é o prompt de comando equivalente a Get-NetIPConfiguration. Como o PowerShell também permite usar comandos do prompt de comando, você também pode usar o IPConfig.

Aqui, você pode digitar ipconfig e pressionar Enter e procurar o endereço IPv4 em sua rede (cujo Gateway padrão não está vazio).
Ou você pode inserir ((ipconfig | findstr [0-9].\.)[0]).Split()[-1] para exibir apenas o endereço IP. Você também pode atribuí-lo diretamente a uma variável, por exemplo, $MyIP=((ipconfig | findstr [0-9].\.)[0]).Split()[-1]

Usando Test-NetConnection

Test-NetConnection é o substituto mais recente para as funções ping e traceroute no PowerShell. Este cmdlet também exibe o endereço IP do seu computador durante a execução de um teste de ping.

Você pode simplesmente inserir Test-NetConnection ou Test-NetConnection com qualquer servidor como Test-NetConnection google.com ou Test-NetConnection 8.8.8.8. Você verá o endereço IPv4 em SourceAddress.
Se você deseja obter apenas o endereço IP, pode inserir (Test-NetConnection).SourceAddress.IPAddress. E você pode atribuí-lo de forma semelhante a um valor. Por exemplo, $MyIP=(Test-NetConnection).SourceAddress.IPAddress

Usando Get-WmiObject

As configurações do adaptador de rede do seu computador estão nas classes Windows Management Instrumentation (WMI). Portanto, você pode obter essas informações diretamente usando o cmdlet Get-WmiObject. Na verdade, Get-NetIPAddress e Get-NetIPConfig usam as informações na classe WMI para exibir seus resultados também.

A classe WMI necessária é Win32_NetworkAdapterConfiduration. E como o cmdlet Get-WmiObject exibirá todas as configurações do adaptador, você precisará do cmdlet Where-Object para exibir apenas os detalhes da rede atual.

Usando Get-CimInstance

Get-CimInstance é a versão aprimorada de Get-WMIObject, portanto, é melhor usar esse cmdlet na maioria dos casos. Mas como o resultado de ambos os cmdlets nesse aspecto é semelhante, você pode escolher qualquer um dos dois.

No entanto, Get-CimInstance exibe os dados em um formato tabular por padrão, portanto, pode ser necessário anexar cmdlets adicionais para obter o endereço IP.

Você pode usar o cmdlet Format-List para alterar o formatação para um formulário de lista semelhante a Get-WMIObject.
Por exemplo, (Get-CimInstance-Class Win32_NetworkAdapterConfiguration | Where-Object {$_.DHCPEnabled-ne $null-and $_.DefaultIPGateway-ne $null}) | Lista de formatos
Se você deseja obter apenas o endereço IPv4 ou atribuí-lo a uma variável, não precisa usar Format-List.
(Get-CimInstance-Class Win32_NetworkAdapterConfiguration | Where-Objeto {$_.DHCPEnabled-ne $null-e $_.DefaultIPGateway-ne $null}).IPAddress | Select-Object-First 1

Como obter endereço IP público no PowerShell?

Se você deseja saber seu endereço IP público via PowerShell, precisa para usar cmdlets que enviam dados HTTP ou HTTPS para alguns servidores específicos de terceiros.

A maneira mais fácil de fazer isso é usando os cmdlets Invoke-WebRequest ou Invoke-RestMethod. E você pode usar servidores como https://api.ipify.org/, https://ident.me, https://ifconfig.me/ip, https://ipinfo.io/ip e assim por diante.

Usando Invoke-WebRequest

Digite o cmdlet, Invoke-WebRequest-uri “https://api.ipify.org/”e verifique o valor de Content para obter o IP público. Você pode usar quaisquer outros servidores como mencionamos anteriormente no lugar de https://api.ipify.org/da mesma maneira. Se você quiser apenas o endereço IP público, pode usar o operador ponto (.).
(Invoke-WebRequest-uri “https://api.ipify.org/”).Content
e você pode atribuí-lo a qualquer variável que desejar.

Usando Invoke-RestMethod

Enter o cmdlet, Invoke-RestMethod-uri (“https://api.ipify.org/”) para obter o IP público. Da mesma forma, você pode substituir o identificador de recurso uniforme (URI) por qualquer outro servidor mencionado anteriormente, bem como atribuí-lo diretamente a uma variável.

Categories: IT Info