
Windows
Trouver rapidement son adresse IP publique avec PowerShell
Connaître son adresse IP publique ne nécessite pas forcément d’ouvrir un navigateur. Avec PowerShell, une simple requête Web permet d’obtenir rapidement l’adresse observée par le service distant.
Mackenson Lundi
Fondateur BelKou
Vous avez besoin de connaître votre adresse IP publique sans ouvrir les paramètres réseau de Windows ni passer par plusieurs menus ? Une seule commande PowerShell peut suffire.
Et le plus intéressant, c’est que vous pouvez obtenir directement l’adresse affichée par un service accessible sur Internet, en quelques secondes.
l’adresse IP publique n’est pas celle affichée par Windows
Lorsque vous utilisez ipconfig dans Windows, vous obtenez généralement les adresses IP attribuées aux interfaces réseau de votre ordinateur.
Mais cette adresse n’est pas nécessairement celle que les services Internet voient.
Votre ordinateur peut, par exemple, utiliser une adresse privée sur votre réseau local tandis que votre connexion Internet utilise une adresse IP publique.
C’est cette dernière que vous pouvez vouloir connaître lorsque vous effectuez un diagnostic réseau ou que vous vérifiez la connexion utilisée par votre machine.
Pourquoi cela arrive ?
Votre ordinateur communique généralement avec votre routeur à l’intérieur du réseau local. Le routeur assure ensuite la communication avec Internet.
Cela signifie que l’adresse visible sur votre ordinateur avec des commandes comme ipconfig peut être différente de l’adresse publique utilisée sur Internet.
Pour connaître cette adresse publique depuis PowerShell, il est donc possible d'interroger un service Web qui renvoie l’adresse IP observée.
PowerShell fournit justement le cmdlet Invoke-WebRequest, conçu pour effectuer des requêtes vers des ressources Web et récupérer leur contenu.
Comment trouver votre IP publique avec PowerShell ?
Ouvrez PowerShell depuis le menu Démarrer de Windows.
Aucune configuration réseau particulière n’est nécessaire pour utiliser cette commande.
Exécuter la commande
Copiez puis exécutez :
(Invoke-WebRequest ifconfig.me/ip).Content
La commande envoie une requête au service indiqué et récupère le contenu de sa réponse.
PowerShell affiche alors le contenu retourné par le service, qui correspond à l’adresse IP publique observée pour votre connexionLa commande peut sembler compliquée au premier regard, mais elle est composée de deux éléments principaux.
Invoke-WebRequest ifconfig.me/ip
Invoke-WebRequest effectue une requête Web vers l’adresse indiquée. Microsoft documente ce cmdlet comme un outil permettant d’obtenir le contenu d’une page Web ou d’un service Web.
Ensuite :
.Content
permet de récupérer le contenu de la réponse plutôt que l’ensemble de l’objet retourné par la requête.
Les parenthèses autour de Invoke-WebRequest permettent d'appliquer .Content directement au résultat de la requête.
On obtient donc une commande courte qui revient essentiellement à dire :
« Interroge ce service Web et affiche le contenu de sa réponse. »
Une méthode particulièrement pratique pour les diagnostics réseau
Cette astuce peut être utile lorsque vous travaillez dans PowerShell et que vous souhaitez vérifier rapidement l’adresse IP publique utilisée par votre connexion.
Elle évite notamment de quitter le terminal pour effectuer une recherche dans un navigateur.
Elle peut également être pratique dans des scripts ou des procédures de diagnostic, à condition de tenir compte du fait que la commande dépend du service Web interrogé.
Conseils
Utilisez cette commande lorsque vous avez besoin de connaître rapidement votre IP publique.
Vérifiez que votre ordinateur dispose d’une connexion Internet fonctionnelle.
N’assimilez pas automatiquement l’IP affichée par
ipconfigà votre IP publique.Pour un script important, prévoyez une solution de remplacement si le service Web utilisé devient indisponible.
Évitez de publier inutilement votre adresse IP publique dans des captures d’écran ou des messages publics.
Limites
Cette méthode dépend d’un service externe. Si le service interrogé est indisponible, lent ou modifie son fonctionnement, la commande peut ne plus produire le résultat attendu.
Il faut également distinguer l’adresse IP publique observée par le service de l’adresse IP locale configurée sur votre ordinateur.
Enfin, l’adresse IP publique peut changer selon votre connexion, votre fournisseur d’accès ou votre configuration réseau.
Connaître son adresse IP publique ne nécessite pas forcément d’ouvrir un navigateur. Avec PowerShell, une simple requête Web permet d’obtenir rapidement l’adresse observée par le service distant.
La commande à retenir est :
(Invoke-WebRequest ifconfig.me/ip).Content
C’est une petite astuce, mais elle peut être particulièrement pratique lorsque vous travaillez déjà dans PowerShell et que vous effectuez un diagnostic réseau.

