1

Я просто хотел бы получить внешний IP-адрес через Powershell Просто IP-адрес без заголовка или что-нибудь.

Я стараюсь много вещей, таких как

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

но у него есть эта дополнительная вторая строка, которая не приносит мне пользы.

Я тоже попробовал.

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

Но это не работает для меня, потому что я за маршрутизатором.

Благодарю.

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.
}

4 ответа4

2

У вас уже есть свой ответ. Вы просто хотите избавиться от дополнительной строки - ничто не заставляет вас использовать

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

как есть. Вместо этого вы можете использовать это:

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

Строка.Метод Trim «удаляет все начальные и конечные пробельные символы из текущего объекта String».

2

Один метод с использованием OpenDNS.

$(Resolve-DnsName -Name myip.opendns.com -Server 208.67.222.220).IPAddress
0

Я смог решить мою проблему, выбрав только первую строку в текстовом файле. Я не смог успешно использовать TRIM и удалить пустую строку.

Используя эту ссылку, я сделал следующее.

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.
}

Надеюсь, поможет.

-1

вышеуказанные данные больше не работают. Так что я лично сделал альтернативу вышеописанному сценарию.

Вы можете ввести это в cmd/powershell, когда захотите получить внешний ip.

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

Если эта страница или скрипт дает вам какие-либо ошибки, пожалуйста, сообщите мне. Спасибо!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .