Netsh-Befehlssyntax, Kontexte und Formatierung

Gilt für: Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, Versionen 21H2 und 20H2

Du kannst in diesem Thema erfahren, wie du Netsh-Kontexte und Unterkontexte eingibst, die Syntax und Befehlsformatierung von Netsh-Dateien verstehst und wie du Netsh-Befehle auf lokalen und Remotecomputern ausführen kannst.

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

Netsh-Kontexte

Netsh interagiert mit anderen Betriebssystemkomponenten mithilfe 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.

Abrufen einer Liste von Kontexten

Du kannst eine Liste von Netzh-Kontexten abrufen, indem du entweder die Eingabeaufforderung oder Windows PowerShell auf einem Computer mit Windows Server 2016 oder Windows 10 öffnest. Geben Sie den Befehl netsh ein, und drücken Sie die EINGABETASTE. Gib /? ein und drücke dann die EINGABETASTE.

Es folgt eine Beispielausgabe für diese Befehle auf einem Computer mit Windows Server 2016 Datacenter.

PS C:\Windows\system32> netsh
netsh>/?

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

Unterkontexte

Netsh-Kontexte können sowohl Befehle als auch zusätzliche Kontexte enthalten, die als Unterkontexte bezeichnet werden. Innerhalb des Routing-Kontextes kannst du z. B. zu den Unterkontexten „IP“ und „IPv6“ wechseln.

Um eine Liste der Befehle und Unterkontexte anzuzeigen, die Sie in einem Kontext verwenden können, geben Sie an der netsh-Eingabeaufforderung den Kontextnamen ein, und geben Sie dann entweder /? oder help ein. Um beispielsweise eine Liste von Unterkontexten und Befehlen anzuzeigen, die Sie im Routingkontext verwenden können, geben Sie an der netsh-Eingabeaufforderung (d. h. netsh) einen der folgenden Befehle ein:

routing /?

routing help

Gib den Kontextpfad des gewünschten Befehls an der Netsh-Eingabeaufforderung ein, um Aufgaben in einem anderen Kontext auszuführen, ohne den aktuellen Kontext zu wechseln. Um z. B. eine Schnittstelle namens „LAN-Verbindung“ im IGMP-Kontext hinzuzufügen, ohne zuerst in den IGMP-Kontext zu wechseln, gib an der Netsh-Eingabeaufforderung Folgendes ein:

routing ip igmp add interface „LAN-Verbindung“ startupqueryinterval=21

Ausführen von Netsh-Befehlen

Zum Ausführen eines Netsh-Befehls ist es erforderlich, Netsh von der Eingabeaufforderung aus zu starten, indem du netsh eingibst und dann die EINGABETASTE drückst. 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 du z. B. dhcp an der Netsh-Eingabeaufforderung eingibst und die EINGABETASTE drückst, wechselt Netsh zum Kontext „DHCP-Server“. Wenn DHCP nicht installiert ist, wird die folgende Meldung angezeigt:

Der folgende Befehl wurde nicht gefunden: dhcp.

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-Eingabeaufforderung oder in einer Batchdatei oder einem Batchskript 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 eine Auslassungszeichen (...) folgt, ist ein Parameter, der mehrmals in einer Befehlszeile wiederholt werden kann.
  • Text zwischen Klammern [ ] ist ein optionales Element.
  • Text zwischen geschweiften Klammern { } mit durch eine Pipe getrennten Auswahlmöglichkeiten bietet eine Reihe von Auswahlmöglichkeiten, aus denen Sie nur eine auswählen müssen, z {enable|disable}. B. .
  • Text, der mit der Schriftart Courier formatiert ist, stellt einen Code oder eine Programmausgabe dar.

Ausführen von Netsh-Befehlen über die Eingabeaufforderung oder Windows PowerShell

Um Network Shell zu starten und Netsh an der Eingabeaufforderung oder in Windows PowerShell einzugeben, kannst du den folgenden Befehl verwenden.

Netsh

Netsh ist ein Befehlszeilen-Skripthilfsprogramm, mit dem die Netzwerkkonfiguration eines aktuell aktiven Computers entweder lokal oder remote angezeigt oder geändert werden kann. Netsh wird ohne Parameter verwendet und öffnet die Netsh.exe Eingabeaufforderung (d. h. netsh).

Syntax

netsh[ -aAliasFile] [ -cContext ] [-rRemoteComputer] [ -u [ DomainName\ ] UserName ] [ -pPassword | *] [{NetshCommand-fScriptFile}]

Parameter

-a

Optional. Gibt an, dass du nach der Ausführung von Aliasdatei zur Netsh-Eingabeaufforderung zurückkehrst.

AliasFile

Optional. Gibt den Namen der Textdatei an, die mindestens einen Netsh-Befehl enthält.

-c

Optional. Gibt an, dass Netsh in den angegebenen Netsh-Kontext wechselt.

Context

Optional. Gibt den Netsh- Kontext an, der eingegeben werden soll.

-r

Optional. Gibt an, dass der Befehl auf einem Remotecomputer ausgeführt werden soll.

Wichtig

Wenn du einige Netsh-Befehle remote auf einem anderen Computer mit dem Parameter netsh -r verwendest, muss der Remoteregistrierungsdienst auf dem Remotecomputer ausgeführt werden. Wenn er nicht ausgeführt wird, zeigt Windows die Fehlermeldung „Netzwerkpfad nicht gefunden“ an.

RemoteComputer

Optional. Gibt den Remotecomputer an, den du konfigurieren möchtest.

-u

Optional. Gibt an, dass du den Netsh-Befehl unter einem Benutzerkonto ausführen willst.

DomainName\\

Optional. Gibt die Domäne an, in der sich das Benutzerkonto befindet. Der Standardwert ist die lokale Domäne, wenn DomainName\ nicht angegeben ist.

UserName

Optional. Gibt den Namen des Benutzerkontos an.

-p

Optional. Gibt an, dass du ein Kennwort für das Benutzerkonto bereitstellen möchtest.

Password

Optional. Gibt das Kennwort für das Benutzerkonto an, das Sie mit -uUserName angegeben haben.

NetshCommand

Optional. Gibt den Netsh-Befehl an, den du ausführen möchtest.

-f

Optional. Beendet Netsh nach Ausführung des Skripts, das du mit Skriptdatei bestimmst.

ScriptFile

Optional. Gibt das Skript an, dass du ausführen möchtest.

/?

Optional. Zeigt die Hilfe an der Netsh-Eingabeaufforderung an.

Hinweis

Wenn du -r gefolgt von einem anderen Befehl angibst, führt -r den Befehl auf dem Remotecomputer aus und kehrt dann zur „Cmd.exe“-Eingabeaufforderung zurück. Wenn du -r ohne einen anderen Befehl angibst, wird -r im Remotemodus geöffnet. Das Verfahren ist ähnlich wie die Verwendung von set machine an der Netsh-Eingabeaufforderung. Wenn du -r verwendest, legst du den Zielcomputer nur für die aktuelle Instanz von -r 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.

Eingeben von Parameterzeichenfolgenwerten für Netsh-Befehle

In der gesamten Netsh-Befehlsreferenz gibt es Befehle, die Parameter enthalten, für die ein Zeichenfolgenwert erforderlich ist.

Wenn ein Zeichenfolgenwert Leerzeichen zwischen den Zeichen enthält, z. B. Zeichenfolgenwerte, die aus mehr als einem Wort bestehen, musst du den Zeichenfolgenwert in Anführungszeichen setzen. Verwende z. B. für einen Parameter namens interface mit dem Zeichenfolgenwert Drahtlosnetzwerkverbindung entsprechende Anführungszeichen um den Zeichenfolgenwert herum:

interface="Wireless Network Connection"