tuto windows guide dutilisation de Netsh
  • 10 mars 2025
  • ComputaSYS
  • 0


I. Présentation

Avez-vous déjà cherché à configurer ou à dépanner le réseau sous Windows sans passer par l’interface graphique ? Si c’est le cas, vous connaissez probablement Netsh, un outil en ligne de commande indémodable malgré l’existence de PowerShell.

Présent au sein des systèmes d’exploitation de Microsoft depuis Windows 2000, Netsh permet aux administrateurs système et aux utilisateurs de gérer le réseau. Parmi les scénarios d’utilisation, nous pouvons citer : configuration IP, gestion des cartes réseau, administration du pare-feu, configuration des connexions sans fil.

Ce guide a pour objectif de vous fournir une liste de commandes utiles, basées sur Netsh, et permettant d’accomplir une multitude de tâches. Pour faciliter la lecture de l’article, les exemples d’utilisation de Netsh ont été organisées dans plusieurs catégories.

II. Netsh – Configuration des interfaces réseau

Ce premier volet de l’article s’intéresse à la configuration des interfaces réseau avec Netsh. L’ensemble des commandes sont à exécuter dans une Invite de commande ou une console PowerShell. Vous devez disposer des droits “admin” pour modifier la configuration du système (comme avec l’interface graphique).

A. Afficher les interfaces réseau

Pour commencer, voyons comment lister toutes les interfaces réseau disponibles sur votre machine Windows. Cela peut être utile pour identifier rapidement les interfaces actives ou inactives.

netsh interface ipv4 show interfaces

Cette commande affiche une liste des interfaces réseau IPv4 avec des détails tels que l’état, le type et l’index.

Voici un exemple :

B. Configurer une adresse IP statique

Si vous souhaitez configurer une adresse IP statique pour une interface réseau, et ne plus être en DHCP, vous pouvez le faire avec Netsh.

Dans cet exemple, nous attribuons l’adresse IP 192.168.14.128 avec un masque de sous-réseau 255.255.255.0 et une passerelle par défaut 192.168.14.2. En plus d’adapter l’adresse IP et le masque, remplacez Ethernet0 par le nom de votre interface réseau (la commande précédente peut vous aider à identifier le nom).

netsh interface ipv4 set address name=”Ethernet0″ static 192.168.14.128 255.255.255.0 192.168.14.2

Cette commande ne retourne aucun résultat dans la console, lorsqu’elle se déroule avec succès. La présence du mot clé static est importante, tout en sachant que cela correspond à l’option nommée source, ce qui pourrait donner source=static au niveau de l’écriture.

C. Configurer les serveurs DNS

La commande précédente ne permet pas de définir le serveur DNS sur l’interface réseau. Il faut donc exécuter une commande supplémentaire destinée à accomplir cette tâche.

Dans cet exemple, nous configurons le serveur DNS principal sur 8.8.8.8 et ajoutons un serveur DNS secondaire 8.8.4.4.

netsh interface ipv4 set dns name=”Ethernet0″ static 8.8.8.8
netsh interface ipv4 add dns name=”Ethernet0″ 8.8.4.4 index=2

À l’aide de ces quelques commandes, nous avons effectué l’ensemble de la configuration IP à l’aide de Netsh.

À tout moment, vous pouvez rebasculer en configuration DHCP via ces deux commandes :

netsh interface ipv4 set address name=”Ethernet0″ dhcp
netsh interface ipv4 set dns name=”Ethernet0″ dhcp

D. Afficher la configuration TCP/IP

Suite à la configuration TCP/IP effectuée sur la carte réseau Ethernet0 à l’aide des commandes précédentes, vous pouvez afficher la configuration via la commande suivante :

netsh interface ip show config

Il s’agit d’un équivalent à la commande ipconfig mais à la sauce netsh.

E. Activer ou désactiver une interface réseau

Pour activer ou désactiver une interface réseau, utilisez les commandes suivantes :

netsh interface set interface “Ethernet0” admin=enable
netsh interface set interface “Ethernet0” admin=disable

Ces commandes sont utiles pour gérer rapidement l’état des interfaces réseau en ligne de commande. La première commande sert à activer l’interface, tandis que la seconde sert à désactiver l’interface.

III. Netsh – Gestion du pare-feu

Cette seconde partie de l’article est dédiée à la configuration du pare-feu avec Netsh. Cet outil contient beaucoup d’options qui répondent à ce besoin et il permet d’aller très loin. Il est tout à fait capable d’ajouter une nouvelle règle de pare-feu Windows. Toutes les commandes Netsh relatives à la gestion du pare-feu débute par netsh advfirewall.

A. Afficher les règles du pare-feu

Pour commencer, nous allons consulter les règles de pare-feu actuellement configurées sur la machine locale. Exécutez la commande suivante :

netsh advfirewall firewall show rule name=all

Cette commande liste toutes les règles de pare-feu. Sa sortie est peu exploitable puisqu’il y a une grande quantité de règles, donc elle est très verbeuse.

B. Ajouter une nouvelle règle de pare-feu

Pour ajouter une nouvelle règle permettant le trafic entrant sur un port spécifique, nous devons cibler l’option add rule de Netsh.

Dans cet exemple, nous autorisons le trafic entrant sur le port 23389 (RDP) avec une règle nommée Autoriser le Bureau à distance. Cela peut être utile si vous désirez autoriser l’accès Bureau à distance sur un port spécial (autre que le port par défaut / 3389).

netsh advfirewall firewall add rule name=”Autoriser RDP (In-23389)” protocol=TCP dir=in localport=23389 action=allow

Ensuite, vous pouvez tout à fait utiliser l’interface graphique de Windows pour vérifier la présence de la nouvelle règle créée avec Netsh.

Si votre objectif est d’autoriser le ping, c’est également possible en effectuant quelques adaptations.

netsh advfirewall firewall add rule name=”Autoriser Ping (In-ICMP)” protocol=icmpv4 dir=in action=allow

C. Désactiver le pare-feu

Si vous devez désactiver temporairement le pare-feu, notamment pour diagnostiquer un problème d’accès, utilisez la commande suivante :

netsh advfirewall set allprofiles state off

N’oubliez pas de réactiver le pare-feu par la suite. Il vous suffira de remplacer off par on dans la commande :

netsh advfirewall set allprofiles state on

Ces commandes, comme beaucoup d’autres commandes exécutées via Netsh, retournent simplement un Ok.

D. Bloquer une adresse IP

Pour bloquer tous les flux entrants en provenance d’une adresse IP spécifique (et suspecte), vous pouvez ajouter une règle de pare-feu de refus. L’exemple ci-dessous crée une règle pour bloquer l’adresse IP 192.168.14.200 :

netsh advfirewall firewall add rule name=”Bloquer adresse IP suspecte” protocol=any dir=in interface=any action=block remoteip=192.168.14.200

Cette règle sera aussi visible dans l’interface graphique de Windows.

IV. Netsh – Configuration du Wi-Fi

Netsh est très intéressant pour manipuler les réseaux Wi-Fi sur une machine Windows, notamment pour afficher la configuration actuelle, mais pas seulement… Il est possible d’exporter les profils Wi-Fi au format XML, ce qui offre aussi l’opportunité de faire l’opération inverse : l’import.

Pour approfondir ce sujet, vous pouvez lire cet article :

A. Afficher les réseaux Wi-Fi disponibles

Pour lister les réseaux sans fil disponibles, utilisez la commande suivante :

netsh wlan show networks

Cette commande affiche une liste des réseaux Wi-Fi à portée, avec des détails tels que le SSID et le type de sécurité.

Remarque : si vous exécutez cette commande sur Windows 11, vous devez activer les services de localisation (Paramètres > Confidentialité et sécurité > Localisation), sinon cette commande ne fonctionnera pas correctement.

B. Afficher les réseaux Wi-Fi connus

Vous pouvez aussi lister les réseaux Wi-Fi connus par votre machine, c’est-à-dire ceux sur lesquels vous avez déjà établis une connexion ou poussé par l’administrateur (via une GPO ou un autre système).

netsh wlan show profiles

Vous pouvez même obtenir des informations précises sur un profil spécifique. Ici, nous ciblons le profil nommé FLOBOX.

netsh wlan show profiles name=”FLOBOX”

Voici un extrait du résultat :

En ajoutant un paramètre supplémentaire, vous pouvez même afficher en clair la clé de sécurité. Par exemple :

netsh wlan show profile name=”FLOBOX” key=clear

En complément, vous pouvez aussi afficher la configuration de votre carte réseau sans-fil :

netsh wlan show drivers

C. Se connecter à un réseau Wi-Fi

Pour vous connecter à un réseau sans fil, utilisez la commande suivante :

netsh wlan connect name=”MonWiFi”

Remplacez MonWiFi par le SSID du réseau auquel vous souhaitez vous connecter. Il doit déjà être connu par votre machine, c’est-à-dire être dans la liste des profils enregistrés.

Si ce n’est pas le cas, vous devez au préalable exporter un fichier de configuration depuis une machine qui connait le réseau. L’exemple ci-dessous permet d’exporter les informations de connexion au réseau FLOBOX. Le fichier XML de sortie sera stocké dans C:\ExportWiFi et il contiendra en texte clair la clé de sécurité.

netsh wlan export profile name=”FLOBOX” folder=”C:\ExportWiFi” key=clear

Puis, importez ce fichier sur la machine qui doit s’y connecter :

netsh wlan add profile filename=”C:\ImportWiFi\Wi-Fi-FLOBOX.xml”

Ensuite, il sera possible d’établir une connexion au réseau Wi-Fi.

V. Netsh – Le dépannage réseau

Sur Windows, Netsh est un outil incontournable lorsqu’il s’agit d’effectuer un dépannage du réseau. Il donne accès à certaines commandes très utiles pour agir sur la stack réseau de Windows. Je pense notamment aux commandes pour réinitialiser les composants du réseau.

A. Réinitialiser la pile TCP/IP

Si vous rencontrez des problèmes réseau, réinitialiser la pile TCP/IP peut résoudre certains problèmes. Surtout quand vous commencez à tourner en rond, car toutes vos autres tentatives de réparation ne donnent rien… Dans ce cas, vous pouvez tenter d’utiliser la commande suivante :

netsh int ip reset

Après avoir exécuté cette commande, redémarrez votre PC pour appliquer les modifications. Il se peut qu’elle résolve votre problème ! Sachez également que la configuration IP et DNS sera réinitialisée aux paramètres par défaut. Par conséquent, si une adresse IP statique était configurée, elle sera supprimée ! La carte réseau sera configurée en DHCP (attribution automatique).

En complément de cette commande, si vous avez des problèmes de connectivité, vous devriez tenter celle-ci :

netsh winsock reset

Cette commande, qui nécessite un redémarrage, retourne le résultat suivant :

Le catalogue Winsock a été réinitialisé correctement.
Vous devez redémarrer l’ordinateur afin de finaliser la réinitialisation.

La commande netsh winsock reset réinitialise le catalogue Winsock, qui gère les connexions réseau sous Windows. Elle permet de corriger des problèmes de connexion Internet causés par une corruption des sockets. Cela peut notamment se produire après la désinstallation d’un logiciel ayant un lien avec le réseau de l’ordinateur.

B. Réinitialiser les paramètres du pare-feu

Dans le même esprit que la commande précédente, il est possible d’effectuer la même chose au niveau du pare-feu Windows Defender. Pour réinitialiser la configuration du pare-feu avec les valeurs par défaut, utilisez la commande suivante :

netsh advfirewall reset

Cela va supprimer toutes les règles personnalisées puisque le pare-feu sera restauré dans son état d’origine. Là encore, cela peut présenter un intérêt dans certains contextes (remise à plat de la configuration, par exemple).

C. Afficher les statistiques réseau

Lorsque vous diagnostiquez un problème réseau et qu’il y a une perte de paquets, vous pouvez utiliser Netsh pour avoir des informations plus précises. Grâce à l’option ipstats, vous pouvez obtenir des statistiques détaillées sur l’utilisation du réseau. Il y a notamment des informations sur les paquets rejetés, des fragments incorrects, etc… Ainsi que les flux dans leur globalité.

netsh interface ipv4 show ipstats

Voici un exemple :

D. Le dépannage réseau avec Netsh trace

netsh trace représente un mode d’utilisation de Netsh permettant de capturer des paquets réseau selon différents scénarios prédéfinis. Contrairement à des outils comme Wireshark, il est possible d’en profiter de façon native étant donné que Netsh est intégré à Windows. La bonne nouvelle, c’est que le fichier de sortie généré par Netsh sera lisible par Wireshark (et d’autres logiciels).

Vous pouvez lister tous les scénarios disponibles via la commande suivante :

netsh trace show scenarios

Il y en a 18, que vous pouvez visualiser sur l’image ci-dessous.

Si vous avez un problème de connexion réseau, ce qui correspond au contexte de cette partie de l’article, il faudra s’intéresser en premier lieu au scénario NetConnection. Le scénario InternetClient est aussi pertinent, car il permet de capturer les événements liés à l’accès Internet, notamment DNS, TCP et HTTP.

Vous pouvez lancer une analyse de cette façon :

netsh trace start scenario=NetConnection capture=yes tracefile=C:\TEMP\NetshNetConnection.etl

Ici, la trace sera enregistrée dans le fichier C:\TEMP\NetshNetConnection.etl sur l’ordinateur local. Elle sera exécutée en arrière-plan, et c’est à vous de l’arrêter. Vous devez donc reproduire votre problème réseau, puis arrêter la capture de cette façon :

netsh trace stop

Une fois que Netsh aura collecté l’ensemble des informations, vous pourrez accéder au fichier ETL. Néanmoins, il ne peut pas être lu nativement par Wireshark. Vous devez le convertir au format PCAP. L’outil etl2pcapng disponible sur GitHub pourra vous aider à effectuer la conversion :

.\etl2pcapng.exe NetshNetConnection.etl NetshNetConnection.pcapng

Le fichier NetshNetConnection.pcapng obtenu en sortie pourra être lu à l’aide de Wireshark ! Cela vous permettra d’effectuer l’analyse depuis une autre machine.

E. Diagnostiquer les problèmes Wi-Fi avec Netsh

Pour finir, nous allons explorer une nouvelle fois les options disponibles dans le contexte netsh wlan et plus précisément la fonctionnalité de reporting intégrée à l’outil ! La commande que vous allez découvrir ici, génère un rapport détaillé sur l’état du Wi-Fi au cours des dernières 24 heures. Cette durée est personnalisable (selon votre besoin).

Ce rapport au format HTML inclut des informations sur les connexions et déconnexions Wi-Fi, les erreurs réseau, les événements système liés au Wi-Fi et les performances générales. Autrement dit, vous allez consulter l’historique Wi-Fi de la machine sur les X derniers jours. Le fichier de sortie sera généré dans le répertoire C:\ProgramData\Microsoft\Windows\WlanReport\.

netsh wlan show wlanreport duration=1

Une fois que la collecte d’informations sera effectuée, vous pouvez ouvrir le rapport obtenu : C:\ProgramData\Microsoft\Windows\WlanReport\wlan-report-latest.html.

L’en-tête du rapport montre un graphe avec les sessions Wi-Fi et les événements principaux.

Si vous descendez, vous obtenez des informations détaillées, y compris un rapport pour chaque session Wi-Fi. Vous avez le nom du réseau, la durée de la session, ainsi que tous les événements relatifs. Les erreurs et les anomalies sont également mises en évidence. Voici un exemple :

Il s’agit de l’une des meilleures fonctionnalités de l’outil Netsh ! Et, pourtant, elle est relativement méconnue.

VI. Conclusion

Ce guide de prise en main de Netsh touche à sa fin. Les différentes commandes et leurs contextes d’utilisation abordés dans cet article illustrent tout le potentiel de cet outil, qui a l’avantage majeur d’être directement intégré à Windows.

Qu’en pensez-vous ? Connaissez-vous d’autres cas d’utilisation de Netsh ? N’hésitez pas à commenter cet article.

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.



Source link

Laisser un commentaire

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