
PowerShell. Получаем внешний IP-адрес
Скрипт для получения своего внешнего IP-адреса (самый простой способ).
$text1 = ' | IP = ' $webClient = New-Object -TypeName System.Net.WebClient While (1 -ne 0) { $text2 = ' дополнительная информация которую можно не указывать, но здесь она нужна для примера' $timestamp = Get-Date -Format('yyyy-MM-dd HH:mm:ss') $timestamp + $text1 + $webClient.DownloadString('http://myexternalip.com/raw').Trim() + $text2 Start-Sleep -s 15 }
Теперь разберём всё в подробностях.
Первая переменная $text1 в которой задаём текст для более красивого отображения нашего IP при выводе на экран
Следующая переменная $webClient каким-то образом связана с получением IP-адреса сайта (не совсем мне понятно её назначение, но она нужна).
While (1 -ne 0) задаёт цикл. Интерпретировать можно так: "Пока 1 не станет 0, то выполнять {то что идёт дальше}", а единица у нас ни когда не станет нолем.
Далее идёт цикл, который будет выполняться бесконечно исходя из вышеприведённого условия.
Переменная $text2 - в ней задаём любой текст, если нужен. В моём случае, я задал текст в виде IP адреса как эталон, чтобы мне было легче понимать, переключился ли канал связи на резервный у которого другой IP-адрес или же я подключен к основному каналу связи (ниже я покажу скриншот, что в итоге у меня).
$timestamp - в эту переменную будет помещаться текущая дата и время. Помещена в цикл, дабы у нас отображалось текущее время. Если вынести данную переменную за цикл, то время не будет обновляться, и будет отображаться постоянно то время, которое было при запуске скрипта.
Далее все переменные помещаем в одну строчку.
Тут стоит отметить несколько моментов:
Тут стоит отметить несколько моментов:
1. Ссылка в скобках указывает на страницу, на которой будет выводится наш внешний IP-адрес в виде строки.
2. При выводе нашего IP-адреса, в конце строки мы получали перенос строки, что очень портило вид при добавлении переменной $text2. Параметр Trim() удаляет этот перенос, что приводит к очень красивому виду в итоге.
Start-Sleep -s 15 - задаем в секундах паузу перед очередным выполнением цикла. Желательно не указывать меньшее количество секунд, т.к. рискуем быть заблокированными на сайте.
Итог получаем такой:

Дата, время, полученный IP-адрес, Sample - указывает на то, какой у нас должен быть IP.
Sample, при вашем желании, может быть убран, но в случае, если, к примеру, в организации подключено несколько провайдеров и необходимо отслеживать, у какого именно провайдера мы "тянем" интернет, то это очень удобно.
Комментариев: 4