Die öffentliche IP-Adresse mit PowerShell herauszufinden, ist ziemlich praktisch, besonders bei Netzwerkproblemen oder einfach aus Neugier. Websites wie ipinfo.io oder icanhazip.com liefern die externe IP-Adresse normalerweise im Klartext, sodass man keine Webbrowser verwenden muss. Manchmal verursachen PowerShell-Skripte jedoch Fehler – beispielsweise, wenn der Internet Explorer deaktiviert ist oder man Windows Server Core nutzt – daher ist es nicht immer ganz einfach. Hier erfahren Sie, wie Sie Ihre IP-Adresse problemlos ermitteln können.
So überprüfen Sie Ihre öffentliche IP-Adresse mit PowerShell
Methode 1: Verwendung von Invoke-WebRequest (Grundlegendes Parsen)
Dies ist der einfachste Weg, insbesondere auf den meisten Windows-Rechnern.Öffnen Sie einfach PowerShell und führen Sie folgenden Befehl aus:
(Invoke-WebRequest -uri "http://ifconfig.me/ip").Content
Dies sollte Ihre aktuelle externe IP-Adresse problemlos ausgeben. Bei manchen Konfigurationen, insbesondere wenn der Internet Explorer nicht installiert oder deaktiviert ist, kann es zu einem Fehler kommen.
In diesem Fall können Sie den Parameter -UseBasicParsing hinzufügen, der die IE-Engine umgeht:
(Invoke-WebRequest -UseBasicParsing -uri "http://ifconfig.me/ip").Content
Das ist sozusagen die Standardlösung, nur für den Fall der Fälle.
Und falls Sie PowerShell einmal beiseite lassen möchten, curlfunktioniert auch der Alias:
(curl ifconfig.me).Content
Dieser Befehl gibt einfach Ihre IP-Adresse aus. Ganz einfach, aber funktional.
Methode 2: Verwendung von System. Net. WebClient
Falls Invoke-WebRequest Probleme bereitet, kann manchmal die WebClient-Klasse Abhilfe schaffen. Sie ist zwar etwas älter, aber zuverlässig:
$wc = New-Object System. Net. WebClient $wc. DownloadString("http://myexternalip.com/raw")
Dadurch wird die IP-Adresse direkt als Zeichenkette abgerufen. Ganz einfach. Manchmal ist diese Methode weniger wählerisch, was Internet Explorer oder andere Abhängigkeiten angeht.
Methode 3: Verwendung der DNS-Auflösung mit OpenDNS (für die IP-Adresse hinter NAT)
Dies ist nützlich, wenn Sie sich hinter einem Router mit NAT befinden und die externe IP-Adresse benötigen, die für alle sichtbar ist. Sie können den Hostnamen myip.opendns.com über PowerShell auflösen:
Resolve-DnsName -Name myip.opendns.com -Server resolver1.opendns.com
Oder auf die altbewährte Art, mit nslookup:
nslookup myip.opendns.com resolver1.opendns.com
Dies liefert eine DNS-Antwort mit Ihrer IP-Adresse – praktisch in größeren Netzwerkumgebungen. Beachten Sie jedoch, dass häufig die externe IP-Adresse Ihres Routers angezeigt wird, nicht unbedingt die tatsächliche IP-Adresse Ihres Rechners.
Besondere Hinweise
Manchmal verursachen diese Befehle Fehler, insbesondere wenn Internet Explorer deaktiviert ist oder strenge Sicherheitsrichtlinien gelten. In diesem Fall behebt der Parameter `-UseBasicParsing` die meisten Probleme. Alternativ kann, falls Sie es riskanter angehen möchten, die WebClient-Lösung verwendet werden, die in der Regel auf Servern oder minimalen Installationen funktioniert.
Da Windows manchmal etwas kompliziert sein kann, funktionieren nicht alle Methoden auf allen Systemen gleich gut – die Ergebnisse können variieren. Und ja, oft ist die zurückgegebene IP-Adresse nur die externe IP-Adresse Ihres Routers oder Proxys, nicht die tatsächliche IP-Adresse Ihres Geräts.