23/11/2024

PowerShell

Comment obtenir son adresse IP publique en PowerShell ?

I. Présentation

D'un côté, nous avons PowerShell et ses commandes permettant de réaliser des requêtes web, et de l'autre, nous avons ces sites qui nous permettent d'afficher l'adresse IP publique de notre box. Mélangez les deux et vous obtenez la possibilité d'obtenir votre adresse IP publique en ligne de commande ! ?

C'est ce que nous allons voir dans ce tutoriel, ce qui peut s'avérer utile pour vos scripts.

Tutoriel disponible au format vidéo :

II. IP publique et PowerShell

A partir de votre PC, si vous accédez directement à l'adresse ci-dessous, vous arrivez sur une page blanche avec seulement votre adresse IP publique comme contenu. Cela est parfait, car on peut récupérer directement l'adresse IP publique sans parser, ni filtrer le code source de la page.

http://ifconfig.me/ip

Ensuite, au niveau de PowerShell, nous pouvons utiliser le cmdlet "Invoke-WebRequest" pour exécuter une requête à destination d'un site Internet, en l'occurrence l'URL citée précédemment. Ce qui donne donne :

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

Cette commande nous retourne différents éléments car elle contient plusieurs propriétés. Il y a la propriété "Content" qui nous intéresse tout particulièrement car elle retourne le contenu de la page. Si l'on regarde sa valeur, elle correspond à l'adresse IP publique : bonne nouvelle !

Il ne reste plus qu'à afficher seulement cette propriété pour avoir l'adresse IP publique en retour. Voici la commande :

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

Bien sûr, cette valeur peut-être stockée dans une variable :

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

En bonus, si vous souhaitez géolocaliser une ou plusieurs adresses IP publiques, je vous invite à utiliser mon script Get-IPLocation. Celui-ci est disponible sur mon GitHub, à cette adresse : Get-IPLocation.ps1

Voici un exemple de son utilisation :

.\Get-IPLocation -IPToCheck "8.8.8.8"

Qui retournera :

YourIP : 90.X.X.X
TargetIP : 8.8.8.8
Country : United States
City : Unknown
GoogleMaps : https://www.google.fr/maps/place/UnitedStates
author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

3 commentaires sur “Comment obtenir son adresse IP publique en PowerShell ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.