Jak znaleźć zewnętrzny adres IP komputera z Windows PowerShell

Dzień dobry, admin! W jednym ze skryptów PowerShell musiałem określić bieżący zewnętrzny adres IP komputera z systemem Windows za pomocą wiersza poleceń lub (najlepiej ze wszystkich) jakiejś funkcji PowerShell. Istnieje wiele stron internetowych, na których możesz znaleźć swój zewnętrzny adres IP, ale nie rozumiem, jak uzyskać do nich dostęp ze skryptu i zwrócić dane ze strony internetowej.

Odpowiedź

Zgadza się, możesz użyć dowolnej usługi online do ustalenia zewnętrznego adresu IP. Użyj polecenia cmdlet, aby pobrać informacje z zewnętrznej strony internetowej z PowerShell. Invoke-WebRequest (przykład parsowania strony internetowej przy użyciu Invoke-WebRequest).

Możesz parsować stronę dowolnej z popularnych witryn w celu ustalenia zewnętrznego adresu IP, ale łatwiej jest korzystać z dowolnej usługi zawierającej tylko adres IP (w postaci zwykłego tekstu).

Możesz korzystać z następujących witryn:

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

Na przykład, aby znaleźć adres IP adresu zewnętrznego używanego do uzyskania dostępu do Internetu, otwórz konsolę PowerShell i uruchom polecenie,

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

Jak widać, polecenie pomyślnie zwróciło do konsoli zewnętrzny adres IP, z którego nastąpiło połączenie.

Wskazówka. Jeśli dostęp do Internetu jest zorganizowany za pośrednictwem serwera proxy, możesz autoryzować się na nim z PowerShell w ten sposób.

Musisz zrozumieć, że w większości przypadków otrzymany adres IP nie będzie rzeczywistym statycznym „białym” adresem IP komputera. W większości przypadków będzie to albo zewnętrzny adres IP routera (z połączeniem NAT), dynamiczny adres IP (wydany przez dostawców), albo adres serwera proxy.