Syntaxe des commandes Netsh, contextes et mise en forme

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI versions 21H2 et 20H2

Vous pouvez utiliser ce article pour apprendre à entrer des contextes et des sous-contextes netsh, comprendre la syntaxe et la mise en forme des commandes netsh et apprendre à exécuter des commandes netsh sur des ordinateurs locaux et distants.

Netsh est un utilitaire de script en ligne de commande qui vous permet d’afficher ou de modifier la configuration réseau d’un ordinateur en cours d’exécution. Vous pouvez exécuter des interpréteurs de commandes netsh en les tapant et en les intégrant à des fichiers de commandes ou des scripts. Les ordinateurs distants et l’ordinateur local peuvent être configurés à l’aide de commandes netsh.

Netsh fournit également une fonctionnalité de script vous permettant d’exécuter un ensemble de commandes en mode batch sur un ordinateur spécifié. Avec netsh, vous pouvez enregistrer un script de configuration dans un fichier texte pour le garder en cas de besoin ou pour vous aider à configurer d’autres ordinateurs.

Syntaxe

netsh
netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName\]UserName] [-p Password | *] [Command | -f ScriptFile]

Les paramètres suivants sont considérés comme facultatifs.

Paramètre Description
-a Spécifie que vous êtes redirigé vers l’interpréteur de commandes netsh après l’exécution d’AliasFile.
AliasFile Spécifie le nom du fichier texte qui contient une ou plusieurs commandes netsh.
-c Spécifie que netsh entre dans le contexte netsh spécifié.
Context Spécifie le contexte netsh dans lequel vous souhaitez entrer.
-r Spécifie que vous souhaitez que la commande s’exécute sur un ordinateur distant. Le service d’accès à distance au Registre doit être en cours d’exécution sur l’ordinateur distant. S’il n’est pas en cours d’exécution, Windows affiche le message d’erreur « Chemin réseau introuvable ».
RemoteComputer Spécifie l’ordinateur distant que vous souhaitez configurer.
-u Spécifie que vous souhaitez exécuter la commande netsh sous un compte d’utilisateur.
DomainName\ Spécifie le domaine dans lequel se trouve le compte d’utilisateur. La valeur par défaut est le domaine local si DomainName\ n’est pas spécifié.
UserName Spécifie le nom du compte d’utilisateur.
-p Spécifie que vous souhaitez fournir un mot de passe pour le compte d’utilisateur.
Password Spécifie le mot de passe du compte d’utilisateur que vous avez spécifié avec -uUserName.
Command Spécifie la commande netsh que vous souhaitez exécuter.
-f Quitte netsh après l’exécution du script que vous désignez avec ScriptFile.
ScriptFile Spécifie le script que vous souhaitez exécuter.

Remarque

Si vous spécifiez -r suivi d’une autre commande, netsh exécute la commande sur l’ordinateur distant, puis revient à l’invite de commandes. Si vous spécifiez -r sans aucune autre commande, netsh s’ouvre en mode distant. Le processus est similaire à l’utilisation de set machine depuis l’interpréteur de commandes netsh. Quand vous utilisez -r , vous définissez l’ordinateur cible pour l’instance actuelle de netsh uniquement. 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ésolu par le serveur DNS ou une adresse IP.

Exécution de commandes netsh

Pour exécuter une commande netsh, vous devez démarrer netsh depuis l’invite de commandes ou PowerShell en tapant netsh puis en appuyant sur Entrée. Ensuite, vous pouvez passer au contexte qui contient la commande que vous souhaitez utiliser. Les contextes disponibles dépendent des composants réseau que vous avez installés.

Par exemple, si vous tapez dhcp dans netsh et que vous appuyez sur Entrée, netsh passe au contexte du serveur DHCP. Si le rôle serveur DHCP n’est pas installé, le message suivant s’affiche :

The following command was not found: dhcp.

Contextes netsh

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é contexte, qui est un groupe de commandes propres à une fonctionnalité ou à un rôle serveur 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 le contexte et l’ensemble de commandes nécessaires à la configuration et à la gestion des serveurs DHCP.

Vous pouvez obtenir la liste des contextes netsh en ouvrant l’invite de commandes ou Windows PowerShell, puis en tapant netsh /? ou netsh help et en appuyant sur ENTRÉE.

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 ipsecdosprotection lan namespace netio ras rpc trace wfp winhttp winsock

To view help for a command, type the command, followed by a space, and then type ?.

Sous-texte Netsh

Les contextes netsh peuvent contenir des commandes et des contextes supplémentaires, appelés sous-contextes. Par exemple, dans le contexte interface, vous pouvez passer aux sous-contextes IPv4 et IPv6.

Pour afficher la liste des commandes et sous-contextes que vous pouvez utiliser dans un contexte, à l’interpréteur de commandes netsh, tapez le nom du contexte, puis tapez /? ou help. 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.
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 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 pour l’interpréteur 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 la syntaxe de commande netsh et l’utiliser correctement quand vous exécutez une commande depuis l’interpréteur de commandes netsh ou dans un fichier de commandes ou un script.

  • Le texte en italique représente des informations que vous devez fournir quand vous entrez une 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 représente des informations que vous devez taper telles qu’elles sont indiquées quand vous entrez une commande.
  • Le texte suivi d’un bouton de sélection (...) est un paramètre pouvant ê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 une barre verticale fournit un ensemble de choix parmi lesquels vous ne devez sélectionner qu’une seule proposition, par exemple {enable|disable}.
  • Le texte mis en forme avec la police Courier est du code ou une sortie du programme.

Chaîne de paramètre pour les commandes netsh

Les commandes netsh sont jalonnées de commandes qui contiennent des paramètres pour lesquels une valeur de chaîne est requise. Si une valeur de chaîne contient des espaces entre les caractères, il est nécessaire de la placer entre guillemets doubles.

Lorsque vous définissez le paramètre d’interface 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, vous devez être dans le sous-texte de l’interface IPv4 ou IPv6 et afficher les interfaces. Par exemple :

netsh interface ipv4>show interfaces
netsh interface ipv6>show interfaces

Voir aussi