Як дізнатися зовнішній IP адреса комп'ютера з Windows PowerShell

Доброго времени суток, адмін! В одному з скриптів PowerShell мені знадобилося визначити поточний зовнішній IP адреса Windows комп'ютера з командного рядка або (найкраще) якийсь PowerShell функцією. Є досить багато веб сайтів, на яких можна дізнатися свій зовнішній IP адреса, але ось як звернеться до них з скрипта і повернути дані з веб-сторінки - не зрозумію.

відповідь

Все вірно, для визначення зовнішнього IP адреси можна скористатися будь-яким онлайн сервісом. Отримати інформацію з зовнішньої веб сторінки з PowerShell можна за допомогою командлета Invoke-WebRequest (Приклад парсинга веб сторінки за допомогою Invoke-WebRequest).

Можна розпарсити сторінку будь-якого з популярних сайтів визначення зовнішнього IP адреси, але простіше скористатися будь-яким з сервісів, що містять тільки ip адреса (у вигляді plain-text).

Можна скористатися наступними сайтами:

  • http://ipinfo.io/ip
  • http://ifconfig.me/ip
  • http://icanhazip.com
  • http://ident.me
  • http://smart-ip.net/myip

Наприклад, щоб дізнатися IP зовнішній адресу, під яким ви виходите в інтернет, відкрийте консоль PowerShell і виконайте команду,

(Invoke-WebRequest -uri "http://ifconfig.me/ip").Content

Як ви бачите, команда успішно повернула в консоль зовнішній IP адреса, з якого прийшло з'єднання.

Порада. Якщо ваш доступ в інтернет організований через проксі сервер, то виконати авторизацію на ньому з PowerShell можна так.

Потрібно розуміти, що в більшості випадків отриманий IP не буде реальної статичним "білим" IP вашого комп'ютера. У більшості випадків це буде або зовнішній IP адреса роутера (при NAT підключенні), динамічний IP адреса (видається провайдерів) або адреса проксі сервера.