Obtendo o IP externo via PowerShell

1

Gostaria apenas de obter o IP externo via Powershell Apenas endereço IP sem cabeçalho ou qualquer coisa.

Eu tento muitas coisas, como

(Invoke-WebRequest ifconfig.me/ip).Content

mas tem essa segunda linha extra que não faz bem para mim.

Eu também tentei.

(Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE) | %{$_.ipaddress[0]}

Mas isso não funciona para mim porque estou atrás do roteador.

Obrigado.

Function IPV()
{
$IPCHK = ((Invoke-WebRequest ifconfig.me/ip).Content.Trim())
$IPCHK | Out-FIle 'CHKIP.txt'
}
$CurrentIP = ((Invoke-WebRequest ifconfig.me/ip).Content.Trim())
$PreviousIP = Get-Content 'CHKIP.txt'

IF($PreviousIP -eq ((Invoke-WebRequest ifconfig.me/ip).Content.Trim()))
    {
        $PreviousIP
        }
ELSE {
       ##SEND EMAIL SCRIPT
        IPV #RUN CHECK IP COMMAND AGAIN.
}
    
por user206168 27.08.2014 / 21:12

4 respostas

2

Você já tem sua resposta. Você só quer se livrar da linha adicional - nada está forçando você a usar

(Invoke-WebRequest ifconfig.me/ip).Content

como está. Em vez disso, você poderia usar isto:

(Invoke-WebRequest ifconfig.me/ip).Content.Trim()

O método String.Trim "Remove todos os caracteres iniciais e posteriores de espaço em branco do objeto String atual".

    
por 27.08.2014 / 21:23
2

Um método usando o OpenDNS.

$(Resolve-DnsName -Name myip.opendns.com -Server 208.67.222.220).IPAddress
    
por 27.08.2014 / 21:41
0

Consegui corrigir meu problema selecionando apenas a primeira linha do arquivo de texto. Eu não consegui usar o TRIM e remover a linha vazia.

Usando este link eu fiz seguindo.

Function IPV()
{
$IPCHK = ((Invoke-WebRequest ifconfig.me/ip).Content)
$IPCHK.TRIM() # Just Like tht.
$IPCHK > 'CHKIP.txt'
}
$CurrentIP = ((Invoke-WebRequest ifconfig.me/ip).Content.Trim())
$PreviousIP = Get-Content 'CHKIP.txt' | SELECT -First 1   #ONLY Selects First Line.

IF($PreviousIP -eq ((Invoke-WebRequest ifconfig.me/ip).Content.Trim()))
    {
        $PreviousIP
        }
ELSE {
        #DO YOUR STUFF :))
        IPV #RUN CHECK IP COMMAND AGAIN.
}

Espero que ajude.

    
por 28.08.2014 / 17:42
-1

os dados acima não estão mais funcionando. Então, eu pessoalmente fiz uma alternativa ao script acima.

Você pode digitar isso em cmd / powershell sempre que quiser pegar o seu ip externo.

(Invoke-WebRequest https://lab.blackvikingpro.com/dev/ip.php).Content

Se esta página ou script apresentar erros, informe-me. Obrigado!

    
por 29.04.2016 / 03:41