Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’interpréteur de commandes réseau (netsh) est un utilitaire de ligne de commande polyvalent et complet pour la configuration, la gestion et la surveillance des composants réseau et des rôles serveur sur les systèmes Windows et Windows Server. Avec netsh, vous pouvez afficher et modifier les paramètres réseau, automatiser les tâches et résoudre les problèmes réseau localement ou à distance.
Dans de nombreux scénarios, les commandes netsh offrent des fonctionnalités équivalentes aux composants logiciels enfichables MMC (Microsoft Management Console) pour gérer les rôles et fonctionnalités du serveur de mise en réseau. Cela permet aux administrateurs d’effectuer des tâches de configuration et de gestion via l’interface MMC graphique ou à l’aide de l’automatisation en ligne de commande.
Par exemple, vous pouvez configurer le serveur NPS (Network Policy Server) en utilisant le composant logiciel enfichable MMC NPS ou les commandes netsh dans le contexte netsh nps. En outre, il existe des commandes netsh pour les technologies réseau, comme pour IPv6, le pont réseau et l’appel de procédure distante (RPC), qui ne sont pas disponibles dans Windows Server en tant que composant logiciel enfichable MMC.
Important
Il est recommandé d’utiliser Windows PowerShell pour gérer les technologies de mise en réseau dans Windows et Windows Server plutôt que netsh.
Exemple de syntaxe
netsh [-a <Aliasfile>] [-c <Context>] [-r <RemoteMachine>] [-u <DomainName>\<Username>] [-p <Password> | *] [Command> | -f <ScriptFile>]
Les paramètres suivants sont facultatifs.
| Parameter | Description |
|---|---|
| -a | Spécifie que vous souhaitez revenir à l’interpréteur de commandes netsh après avoir exécuté un fichier d’alias. Un fichier alias est le fichier texte qui contient une ou plusieurs commandes netsh. |
| -c | Entre le contexte netsh spécifié. Le contexte représente un ensemble spécifique de commandes disponibles liées à une fonctionnalité ou une fonction particulière. |
| -r | Spécifie que vous souhaitez que la commande s’exécute sur un ordinateur distant à l’aide de son nom d’ordinateur, d’un nom de domaine complet (FQDN) ou d’une adresse IP. Le service Registre distant doit s’exécuter sur l’ordinateur distant. S’il n’est pas en cours d’exécution, Windows affiche un message d’erreur « Chemin d’accès réseau introuvable ». Si vous spécifiez -r suivi d’une autre commande, netsh exécute la commande sur l’ordinateur distant, puis retourne à l’invite de commandes. Si vous spécifiez -r sans autre commande, netsh s’ouvre en mode distant. Le processus est similaire à l’utilisation set machine dans l’interpréteur de commandes netsh. Lorsque vous utilisez -r, vous définissez l’ordinateur cible pour l’instance actuelle de netsh uniquement. |
| -u | Spécifie que vous souhaitez exécuter la commande netsh sous un compte d’utilisateur spécifique à l’aide DomainName\Username du format. |
| -p | Spécifie que vous souhaitez fournir un mot de passe pour le compte d’utilisateur. Si * elle est utilisée, cela spécifie que vous souhaitez entrer en toute sécurité le mot de passe. |
| Command | Il s’agit de la commande netsh que vous souhaitez exécuter. |
| -f | Spécifie que vous souhaitez quitter netsh après avoir exécuté les commandes du fichier de script que vous fournissez. |
Si votre valeur de chaîne contient des espaces entre les caractères, vous devez placer la valeur de chaîne entre guillemets. Par exemple : -r "contoso remote device". Une fois que vous avez quitté et regagné netsh, l’ordinateur cible est réinitialisé en tant qu’ordinateur local. Vous pouvez exécuter des commandes netsh sur un ordinateur distant en spécifiant un nom d’ordinateur stocké dans WINS, un nom UNC, un nom Internet à résoudre par le serveur DNS ou une adresse IP.
Note
Pour utiliser certaines commandes netsh, telles que les netsh firewall commandes à distance sur un autre ordinateur à l’aide du paramètre netsh -r , le service Registre distant doit s’exécuter sur l’ordinateur distant. Si ce service n’est pas en cours d’exécution, vous pouvez recevoir un message d’erreur de communication réseau.
Exécution de commandes netsh
L’exécution de commandes netsh peut se faire à l’aide d’une invite de commandes avec élévation de privilèges ou d’une fenêtre PowerShell. Vous pouvez passer au contexte qui contient la commande que vous souhaitez utiliser en fonction des composants réseau installés.
Par exemple, si vous tapez netsh, vous êtes dirigé directement dans l’interpréteur de commandes réseau. Une fois ici, si vous tapez dhcp et appuyez sur Entrée, vous êtes entré dans le menu contextuel pour dhcpclient les commandes.
Contextes de commande
Netsh interagit avec d’autres composants du système d’exploitation à l’aide de fichiers DLL (bibliothèque de liens dynamiques). Chaque DLL d’assistance netsh fournit un ensemble complet de fonctionnalités appelées contexte, qui est un groupe de commandes spécifiques à un rôle ou une fonctionnalité de serveur de mise en réseau. Ces contextes étendent les fonctionnalités de netsh en fournissant une prise en charge de la configuration et de la supervision pour un ou plusieurs services, utilitaires ou protocoles.
Par exemple, dhcpmon.dll fournit netsh avec le contexte et l’ensemble de commandes nécessaires pour configurer et gérer des serveurs DHCP.
Le > placement vous indique le contexte ou le sous-texte dans lequel vous vous trouvez. Vous pouvez obtenir une liste de contextes netsh en exécutant netsh ? ou netsh help en appuyant sur Entrée pour l’une des commandes disponibles.
Voici un exemple de sortie :
The following commands are available:
Commands in this context:
.. - Goes up one context level.
? - Displays a list of commands.
abort - Discards changes made while in offline mode.
add - Adds a configuration entry to a list of entries.
advfirewall - Changes to the 'netsh advfirewall' context.
alias - Adds an alias.
branchcache - Changes to the 'netsh branchcache' context.
bridge - Changes to the 'netsh bridge' context.
bye - Exits the program.
commit - Commits changes made while in offline mode.
delete - Deletes a configuration entry from a list of entries.
dhcpclient - Changes to the 'netsh dhcpclient' context.
dnsclient - Changes to the 'netsh dnsclient' context.
dump - Displays a configuration script.
exec - Runs a script file.
exit - Exits the program.
firewall - Changes to the 'netsh firewall' context.
help - Displays a list of commands.
http - Changes to the 'netsh http' context.
interface - Changes to the 'netsh interface' context.
ipsec - Changes to the 'netsh ipsec' context.
ipsecdosprotection - Changes to the 'netsh ipsecdosprotection' context.
lan - Changes to the 'netsh lan' context.
namespace - Changes to the 'netsh namespace' context.
netio - Changes to the 'netsh netio' context.
offline - Sets the current mode to offline.
online - Sets the current mode to online.
popd - Pops a context from the stack.
pushd - Pushes current context on stack.
quit - Exits the program.
ras - Changes to the 'netsh ras' context.
rpc - Changes to the 'netsh rpc' context.
set - Updates configuration settings.
show - Displays information.
trace - Changes to the 'netsh trace' context.
unalias - Deletes an alias.
wfp - Changes to the 'netsh wfp' context.
winhttp - Changes to the 'netsh winhttp' context.
winsock - Changes to the 'netsh winsock' context.
The following sub-contexts are available:
advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ipsec lan mbn namespace netio nlm ras rpc trace wcn wfp winhttp winsock wlan
To view help for a command, type the command, followed by a space, and then type ?.
Sous-texte de commande
Les contextes peuvent également inclure à la fois des commandes et des contextes imbriqués appelés sous-contextes. Par exemple, le contexte d’interface contient des sous-texte tels que ipv4 et ipv6, qui vous permettent de gérer des paramètres d’interface réseau spécifiques. Par exemple:
netsh> interface help
The following commands are available:
Commands in this context:
6to4 - Changes to the 'netsh interface 6to4' context.
? - Displays a list of commands.
dump - Displays a configuration script.
fl48 - Changes to the 'netsh interface fl48' context.
fl68 - Changes to the 'netsh interface fl68' context.
help - Displays a list of commands.
httpstunnel - Changes to the 'netsh interface httpstunnel' context.
ipv4 - Changes to the 'netsh interface ipv4' context.
ipv6 - Changes to the 'netsh interface ipv6' context.
isatap - Changes to the 'netsh interface isatap' context.
portproxy - Changes to the 'netsh interface portproxy' context.
set - Sets configuration information.
show - Displays information.
tcp - Changes to the 'netsh interface tcp' context.
teredo - Changes to the 'netsh interface teredo' context.
udp - Changes to the 'netsh interface udp' context.
The following sub-contexts are available:
6to4 fl48 fl68 httpstunnel ipv4 ipv6 isatap portproxy tcp teredo udp
To view help for a command, type the command, followed by a space, and then
type ?.
Pour effectuer des tâches dans un autre contexte sans changer de contexte actuel, tapez le chemin du contexte de la commande que vous souhaitez utiliser depuis l’invite de commandes netsh. Par exemple, pour ajouter une adresse IPv4 statique pour « NetLAN1 » et spécifier le masque de sous-réseau et la passerelle, tapez :
netsh interface ipv4 set address "NetLAN1" static <IP_Address> <Subnet_Mask> <Gateway>
Légende de mise en forme
Vous pouvez utiliser la légende de mise en forme suivante pour interpréter et utiliser une syntaxe de commande correcte lors de l’exécution de commandes de manière interactive, dans un fichier de commandes ou dans un script.
- Le texte en italique est des informations que vous devez fournir lorsque vous tapez la commande. Par exemple, si une commande a un paramètre nommé -UserName, vous devez taper le nom d’utilisateur réel.
- Le texte en gras est des informations que vous devez taper exactement comme indiqué lorsque vous tapez la commande.
- Le texte suivi d’un point de suspension ... est un paramètre qui peut être répété plusieurs fois dans une ligne de commande.
- Le texte entre crochets [ ] est un élément facultatif.
- Le texte entre accolades { } avec des choix séparés par un canal fournit un ensemble de choix dont vous devez sélectionner un seul, tel que
{enable|disable}. - Le texte mis en forme avec la police Courier est du code ou en sortie de programme informatique.
Valeurs de chaîne pour les commandes netsh
Certaines commandes contiennent des paramètres pour lesquels une valeur de chaîne est requise. Dans le cas où une valeur de chaîne contient des espaces entre les caractères, vous devez placer la valeur de chaîne entre guillemets doubles.
Lorsque vous définissez le interface paramètre pour les réseaux IPv4 avec une valeur de chaîne de connexion réseau sans fil à DHCP, utilisez des guillemets doubles autour de la valeur de chaîne. Par exemple:
netsh interface ipv4> set address name="Wireless Network Connection" dhcp
Sinon, pour les interfaces réseau, le numéro d’index peut être utilisé à la place du nom associé. Par exemple:
netsh interface ipv4> set address name=15 dhcp
Pour rechercher le nom ou l’index des interfaces connectées dans le sous-texte de l’interface, sélectionnez votre type d’interface et tapez show interfaces pour afficher des informations détaillées. Par exemple:
netsh interface> ipv4 show interfaces
netsh interface> ipv6 show interfaces
Si vous n’êtes pas dans le sous-texte de l’interface, vous pouvez exécuter la commande complète pour l’une ou l’autre des interfaces. Par exemple:
netsh interface ipv4 show interfaces
netsh interface ipv6 show interfaces
Utilisation de netsh dans des fichiers batch
Un fichier batch est un fichier texte brut qui contient une série de commandes à exécuter par l'invite de commandes de Windows (CMD). Les fichiers Batch ont une extension .bat ou .cmd. Ils sont utilisés pour automatiser les tâches répétitives, gérer les configurations système et exécuter des séquences de commandes sans intervention de l’utilisateur. Les fichiers Batch sont particulièrement utiles pour les tâches qui impliquent plusieurs instructions de ligne de commande.
Un script batch serait utile dans ces scénarios :
Configuration réseau en bloc : si vous avez besoin de configurer des paramètres réseau pour plusieurs ordinateurs, un fichier batch peut simplifier le processus en automatisant la configuration. Les configurations en bloc sont utiles dans les environnements d’entreprise ou pour les professionnels de l’informatique qui gèrent plusieurs machines.
Reconfiguration du réseau : les utilisateurs qui basculent entre différents environnements réseau peuvent utiliser des fichiers batch pour modifier rapidement les paramètres tels que les adresses IP et les serveurs DNS sans intervention manuelle.
Paramètres de sauvegarde et de restauration : vous pouvez créer un script par lots pour sauvegarder les paramètres réseau avant d’apporter des modifications, et une autre pour les restaurer si nécessaire.
Voici un exemple de fichier batch. Les lignes commençant par « rem » sont des commentaires qui permettent aux utilisateurs de savoir quelle action les commandes effectuent :
@echo off
echo Configuring network settings...
REM Set the IP address, subnet mask, and default gateway
netsh interface ip set address name="Ethernet" static 192.168.1.100 255.255.255.0 192.168.1.1
REM Set the DNS server address
netsh interface ip set dns name="Ethernet" static 8.8.8.8
REM Add a secondary DNS server
netsh interface ip add dns name="Ethernet" 8.8.4.4 index=2
REM Enable the firewall
netsh advfirewall set allprofiles state on
echo Network settings configured successfully.
pause
Voici une brève explication de ce que fait ce script :
- Il définit une adresse IP statique, un masque de sous-réseau et une passerelle par défaut pour l’interface réseau nommée « Ethernet ».
- Configure le serveur DNS principal à utiliser.
- Ajoute un serveur DNS secondaire (de secours).
- Active le Pare-feu Windows avec Advanced Security pour tous les profils.