Öffentliche IP Adresse mit PowerShell ermitteln
Mit PowerShell und der Methode Invoke-RestMethod
kann ganz einfach die öffentliche IP Adresse ermittelt werden. Allerdings funktioniert das nicht nur mit PowerShell, sondern man benötigt noch einen Web-Service, der die Informationen über die IP-Adresse liefern kann.
Öffentliche IP Adresse mit Invoke-RestMethod in PowerShell ermitteln
Die einfachste Möglichkeit um lediglich die öffentliche IP Adresse zu ermitteln, ist das Abfragen der Amazon AWS mit REST.
Invoke-RestMethod -Uri http://checkip.amazonaws.com/
Allerdings gibt es auch andere Web-Dienste, die das Ermitteln der öffentlichen IPv4 Adresse ermöglichen. Ein Beispiel ist hier die Plattform IPinfo.io, bei der man weitere Eigenschaften als Objekt geliefert bekommt. Unter anderem bekommt man folgende Informationen:
- IP Adresse
- Hostname
- City
- Region
- Country
- Loc (Geo-Daten)
- Org (Provider)
- Postal (Postleitzahl)
- Timezone
- Readme
Auch hier wird Invoke-RestMethod verwendet, um mit PowerShell die IP-Daten abrufen zu lassen.
$IPobject = Invoke-RestMethod -Uri http://ipinfo.io $IPobject
Als Ergebnis erhält man neben der Öffentlichen IP (Public IP) alle Relevanten Daten als PS-Object ausgegeben. Der Vorteil hier ist, dass viel mehr Informationen geliefert werden. Möchte man nun Beispielsweise die Stadt, oder doch nur die IP angezeigt bekommen, so verwendet man | select
im PowerShell Script.
$IPobject = Invoke-RestMethod -Uri http://ipinfo.io $IPobject | select IP, city
Die PowerShell Ausgabe liefert dann nur die Informationen, die nach dem SELECT angegeben wurden. In diesem Fall ist das die Stadt (city) und die öffentliche IP Adresse (ip).
Übrigens kann man auch DNS Abfragen mit PowerShell durchführen, natürlich ohne dass man einen weiteren (externen) Dienst benötigt.