Netsh-Befehlssyntax, Kontexte und Formatierung

Gilt für Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI (Version 21H2 und 20H2)

Sie können diesen Artikel verwenden, um zu erfahren, wie Sie netsh-Kontexte und Unterkontexte eingeben, die Syntax und Befehlsformatierung von netsh-Dateien erlernen, und wie Sie netsh-Befehle auf lokalen und Remotecomputern ausführen.

Netsh ist ein Befehlszeilen-Skripthilfsprogramm, mit dem die Netzwerkkonfiguration eines Computers angezeigt oder geändert werden kann, die aktuell ausgeführt wird. Netsh-Befehle können durch Eingabe von Befehlen an der netsh-Shell ausgeführt und in Batchdateien oder Skripts verwendet werden. Remotecomputer und der lokale Computer können mithilfe von Netsh-Befehlen konfiguriert werden.

Netsh bietet auch eine Skriptingfunktion, mit der Sie eine Gruppe von Befehlen im Batchmodus für einen bestimmten Computer ausführen können. Mit Netsh können Sie ein Konfigurationsskript als Textdatei zu Archivierungszwecken oder für die Konfiguration anderer Computer speichern.

Syntax

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

Die folgenden Parameter werden als optional betrachtet.

Parameter BESCHREIBUNG
-a Gibt an, dass Sie nach der Ausführung von AliasFile zur netsh-Shell zurückkehren.
AliasFile Gibt den Namen der Textdatei an, die mindestens einen Netsh-Befehl enthält.
-c Gibt an, dass Netsh in den angegebenen Netsh-Kontext wechselt.
Context Gibt den Netsh- Kontext an, der eingegeben werden soll.
-r Gibt an, dass der Befehl auf einem Remotecomputer ausgeführt werden soll. Der Remoteregistrierungsdienst muss auf dem Remotecomputer ausgeführt werden. Wenn er nicht ausgeführt wird, zeigt Windows die Fehlermeldung „Netzwerkpfad nicht gefunden“ an.
RemoteComputer Gibt den Remotecomputer an, den du konfigurieren möchtest.
-U Gibt an, dass du den Netsh-Befehl unter einem Benutzerkonto ausführen willst.
DomainName\ Gibt die Domäne an, in der sich das Benutzerkonto befindet. Der Standardwert ist die lokale Domäne, wenn DomainName\ nicht angegeben ist.
UserName Gibt den Namen des Benutzerkontos an.
-p Gibt an, dass du ein Kennwort für das Benutzerkonto bereitstellen möchtest.
Password Gibt das Kennwort für das Benutzerkonto an, das Sie mit -uUserName angegeben haben.
Command Gibt den Netsh-Befehl an, den du ausführen möchtest.
f- Beendet Netsh nach Ausführung des Skripts, das du mit Skriptdatei bestimmst.
ScriptFile Gibt das Skript an, dass du ausführen möchtest.

Hinweis

Wenn Sie -r gefolgt von einem anderen Befehl angeben, führt netsh den Befehl auf dem Remotecomputer aus und kehrt dann zur Eingabeaufforderung zurück. Wenn du -r ohne einen anderen Befehl angibst, wird Netsh im Remotemodus geöffnet. Das Verfahren ist ähnlich wie die Verwendung von set machine an der netsh-Befehlsshell. Wenn du -r verwendest, legst du den Zielcomputer nur für die aktuelle Instanz von Netsh fest. Nachdem du Netsh beendet und erneut eingegeben hast, wird der Zielcomputer als lokaler Computer zurückgesetzt. Du kannst Netsh-Befehle auf einem Remotecomputer ausführen, indem du einen in WINS gespeicherten Computernamen, einen UNC-Namen, einen vom DNS-Server aufzulösenden Internetnamen oder eine IP-Adresse angibst.

Ausführen von Netsh-Befehlen

Zum Ausführen eines netsh-Befehls ist es erforderlich, netsh von der Eingabeaufforderung aus zu starten, indem Sie netsh eingeben und dann die EINGABETASTE drücken. Als nächstes kannst du zu dem Kontext wechseln, der den gewünschten Befehl enthält. Die verfügbaren Kontexte hängen von den installierten Netzwerkkomponenten ab.

Wenn Sie beispielsweise dhcp in die netsh-Shell eingeben und die EINGABETASTE drücken, ändert sich netsh in den DHCP-Serverkontext. Wenn Sie die DHCP-Serverrolle nicht installiert haben, wird die folgende Meldung angezeigt:

The following command was not found: dhcp.

Netsh-Kontexte

Netsh interagiert mit anderen Betriebssystemkomponenten unter Verwendung von DLL-Dateien (Dynamic Link Library).

Jede DLL des Netsh-Hilfsprogramms bietet einen umfangreichen Satz von Features, die als Kontext bezeichnet werden, d. h. eine Gruppe von Befehlen, die für eine Netzwerkserverrolle oder -funktion spezifisch sind. Diese Kontexte erweitern die Funktionalität von Netsh durch die Bereitstellung von Konfigurations- und Überwachungsunterstützung für mindestens einen Dienst, ein Hilfsprogramm oder Protokoll.

So stellt z. B. „Dhcpmon.dll“ Netsh den Kontext und den Satz von Befehlen zur Verfügung, die zur Konfiguration und Verwaltung von DHCP-Servern erforderlich sind.

Sie können eine Liste von netsh-Kontexten abrufen, indem Sie entweder die Eingabeaufforderung oder Windows PowerShell öffnen, dann netsh /? oder netsh help eingeben und die EINGABETASTE drücken.

Nachfolgend sehen Sie eine Beispielausgabe:

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 ?.

Netsh-Unterkontexte

Netsh-Kontexte können sowohl Befehle als auch zusätzliche Kontexte enthalten, die als Unterkontexte bezeichnet werden. Innerhalb des Schnittstellenkontextes können Sie beispielsweise zu den Unterkontexten IPv4 und IPv6 wechseln.

Um eine Liste von Befehlen und Unterkontexten anzuzeigen, die Sie innerhalb eines Kontexts verwenden können, geben Sie an der netsh-Shell den Kontextnamen und dann entweder ? oder help ein. Beispiel:

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 ?.

Um Aufgaben in einem anderen Kontext auszuführen, ohne den aktuellen Kontext zu wechseln, geben Sie den Kontextpfad des Befehls, den Sie verwenden wollen, an der netsh-Shell ein. Um beispielsweise eine statische IPv4-Adresse für „NetLAN1“ hinzuzufügen und sowohl das Subnetzformat als auch das Gateway anzugeben, geben Sie Folgendes ein:

netsh interface ipv4 set address "NetLAN1" static <IP_Address> <Subnet_Mask> <Gateway>

Formatierungslegende

Sie können die folgende Formatierungslegende verwenden, um die richtige netsh-Befehlssyntax zu interpretieren und zu verwenden, wenn Sie den Befehl an der netsh-Shell oder in einer Batchdatei oder einem Skript ausführen.

  • Kursiver Text kennzeichnet Informationen, die bei der Eingabe des Befehls bereitgestellt werden müssen. Wenn ein Befehl z. B. einen Parameter namens -Benutzername (UserName) aufweist, musst du den tatsächlichen Benutzernamen eingeben.
  • Fett formatierter Text kennzeichnet Informationen, die genau so eingegeben werden müssen, wie sie während der Eingabe des Befehls angezeigt werden.
  • Text, auf den Auslassungspunkte (...) folgen, ist ein Parameter, der mehrmals in einer Befehlszeile wiederholt werden kann.
  • Text zwischen eckigen Klammern [ ] kennzeichnet optionale Elemente.
  • Text zwischen geschweiften Klammern { } mit Optionen, die durch ein Pipezeichen getrennt sind, bietet eine Reihe von Auswahlmöglichkeiten, aus denen Sie nur eine auswählen dürfen, z. B. {enable|disable}.
  • Text, der mit der Schriftart Courier formatiert ist, stellt einen Code oder eine Programmausgabe dar.

Zeichenfolgenwerte für netsh-Befehle

Es gibt Befehle, die Parameter enthalten, für die ein Zeichenfolgenwert erforderlich ist. Wenn ein Zeichenfolgenwert Leerzeichen zwischen Zeichen enthält, muss der Zeichenfolgenwert in doppelte Anführungszeichen eingeschlossen werden.

Wenn Sie den Schnittstellenparameter für IPv4-Netzwerke mit einem Zeichenfolgenwert Wireless Network Connection für DHCP festlegen, verwenden Sie doppelte Anführungszeichen um den Zeichenfolgenwert. Beispiel:

netsh interface ipv4>set address name="Wireless Network Connection" dhcp

Alternativ kann für Netzwerkschnittstellen die Indexnummer anstelle des zugehörigen Namens verwendet werden. Beispiel:

netsh interface ipv4>set address name=15 dhcp

Um den Namen oder Index der verbundenen Schnittstellen zu suchen, müssen Sie sich im Unterkontext der IPv4- oder IPv6-Schnittstelle befinden und Schnittstellen anzeigen eingeben. Beispiel:

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

Siehe auch