Wer sich in­ten­si­ver mit der Kon­fi­gu­ra­ti­on von Netz­wer­ken unter Windows aus­ein­an­der­setzt, stößt früher oder später auf die Network Shell (Netsh). Hinter dem Begriff steht eine Schnitt­stel­le zwischen Nutzer und Be­triebs­sys­tem, die das Ad­mi­nis­trie­ren und Kon­fi­gu­rie­ren von lokalen und ent­fern­ten Netz­werk­ein­stel­lun­gen er­mög­licht.

Das Spektrum an Ein­satz­mög­lich­kei­ten reicht von Ein­stel­lun­gen für die Windows-Firewall über die LAN- und WLAN-Ver­wal­tung bis hin zu IP- und Ser­ver­kon­fi­gu­ra­tio­nen. Zudem können netz­ge­bun­de­ne In­fra­struk­tu­ren gegen Angriffe von außen ab­ge­si­chert werden. Mithilfe des Be­fehls­zei­len­tools werden auch Probleme dia­gnos­ti­ziert und Re­pa­ra­tu­ren im Netzwerk durch­ge­führt. Ein großer Vorteil von Netsh: Netz­werk­be­zo­ge­ne Ver­wal­tungs­auf­ga­ben werden besonders schnell und kom­for­ta­bel erledigt und lassen sich per Skript au­to­ma­ti­sie­ren.

Netsh-Befehle ausführen: Starten der Ein­ga­be­auf­for­de­rung

Um Netsh nutzen zu können, muss man sich auf die Ebene der Kom­man­do­zei­le begeben. Dorthin gelangt man über das „Ausführen“-Menü („Run“), das Sie fol­gen­der­ma­ßen aufrufen:

  1. Tas­ten­kom­bi­na­ti­on [Windows] + [R] drücken
  2. „cmd“ in das Ein­ga­be­feld eintragen (1)
  3. den „OK“-Button drücken (2)

An­schlie­ßend öffnet sich die Ein­ga­be­auf­for­de­rung. Mit der Eingabe von „netsh“ und einer an­schlie­ßen­den Be­stä­ti­gung mit [Enter] wird das Dienst­pro­gramm gestartet:

Werden Netsh-Befehle und -Skripte nicht aus­ge­führt oder sind tie­fer­ge­hen­de Eingriffe in die Netz­werk­kon­fi­gu­ra­ti­on geplant, sollte man die Network Shell mit Ad­mi­nis­tra­tor­rech­ten starten. Unter Windows 10 sind diese Schritte notwendig:

1. Rechts­klick auf Windows-Symbol links in der Task­leis­te oder Tas­ten­kom­bi­na­ti­on [Windows] + [X] drücken.

2. Im sich öffnenden Kon­text­me­nü den Eintrag „Ein­ga­be­auf­for­de­rung (Ad­mi­nis­tra­tor)“ wählen:

Zu Netsh gehört die Pro­gramm­da­tei netsh.exe, die sich im Windows-Sys­tem­ord­ner befindet (%windir%\system32). Ein Di­rekt­auf­ruf verkürzt die Ein­ga­be­pro­ze­dur von Netsh-Befehlen. Sie können dazu den Pfad C:\Windows\System32\netsh.exe in die Adress­zei­le des Windows-Explorers eingeben und auf [Enter] drücken. Im sich öffnenden Ein­ga­be­fens­ter können Sie dann umgehend Netsh-Befehle eingeben.

Der Di­rekt­auf­ruf lässt sich mit einer Ver­knüp­fung be­schleu­ni­gen. Ist diese einmal angelegt, reicht zukünftig ein einziger Mausklick für den Start der Be­fehls­ein­ga­be:

1. Rechts­klick auf den Windows-Desktop. Auf den Me­nü­ein­trag „Neu“ klicken (1), dann im nächsten sich öffnenden Kon­text­me­nü auf „Ver­knüp­fung“ klicken (2):

2. Im As­sis­ten­ten für Ver­knüp­fun­gen den Pfad C:\Windows\System32\netsh.exe eingeben (1) und auf „Weiter“ klicken (2):

3. Dann sollten Sie einen aus­sa­ge­kräf­ti­gen Namen für die Ver­knüp­fung vergeben (1), die an­schlie­ßend nach einem Klick auf „Fertig stellen“ (2) auf dem Desktop abgelegt wird:

So ist Netsh aufgebaut

Das Dienst­pro­gramm Netsh stellt eine um­fang­rei­che Be­fehls­syn­tax zur Verfügung. Wer damit gezielt bestimmte Aufgaben erledigen möchte, muss sich mit dem spe­zi­fi­schen Aufbau der Network Shell vertraut machen. Die Struktur des Dienst­pro­gramms basiert auf Kontexten, die ver­schie­de­ne Ver­wal­tungs­ebe­nen re­prä­sen­tie­ren. Jeder Kontext deckt eine bestimmte Netzwerk-Funk­tio­na­li­tät ab (z. B. IP-, LAN- und Firewall-Kon­fi­gu­ra­ti­on). Für die kon­text­ge­bun­de­ne In­ter­ak­ti­on mit anderen Windows-Kom­po­nen­ten nutzt das Hilfs­pro­gramm die Dateien der Dynamic-Link Library (DLL). Netsh greift etwa auf die Dhcpmon.dll zu, um DHCP-Ein­stel­lun­gen zu ändern und zu verwalten.

Für die Nutzung eines Kontexts muss zu diesem in der Ein­ga­be­auf­for­de­rung von Windows ge­wech­selt werden. In den Kontext „LAN-Ver­wal­tung“ gelangt man bei­spiels­wei­se fol­gen­der­ma­ßen:

1. Nach Aufruf der Ein­ga­be­auf­for­de­rung „netsh“ eingeben und mit [Enter] be­stä­ti­gen.

2. Dann „lan“ eingeben und mit [Enter] be­stä­ti­gen.

3. Nun zeigt die Ein­ga­be­auf­for­de­rung den Kon­text­wech­sel an: netsh lan>

Haben Sie in den Kontext „LAN“ ge­wech­selt, stehen kon­text­spe­zi­fi­sche und kon­text­über­grei­fen­de Befehle zur Verfügung. Zu den kon­text­spe­zi­fi­schen Befehlen zählt bei­spiels­wei­se „set“ (kon­fi­gu­riert Ein­stel­lun­gen auf Schnitt­stel­len). Ein Beispiel für einen grund­sätz­li­chen und kon­text­über­grei­fen­den Netsh-Befehl ist der Hil­fe­be­fehl „/?“, der in jedem Bereich die ver­füg­ba­ren Un­ter­kon­tex­te und -befehle auflistet. Im Bereich „LAN“ wird nach dessen Eingabe folgende Liste mit kon­text­spe­zi­fi­schen und -über­grei­fen­den Befehlen angezeigt:

Wechselt man bei­spiels­wei­se in den Firewall-Kontext, sieht die da­zu­ge­hö­ri­ge Be­fehls­re­fe­renz so aus:

Neben der kon­text­ge­bun­de­nen Struktur gibt es noch weitere Be­son­der­hei­ten bei der Bedienung. Netsh kann entweder im nicht­in­ter­ak­ti­ven oder im in­ter­ak­ti­ven Modus genutzt werden. Im nicht­in­ter­ak­ti­ven Modus werden etwa wichtige Netz­werk­ein­stel­lun­gen in eine Textdatei ex­por­tiert und für eine spätere Wie­der­her­stel­lung wieder im­por­tiert.

Im in­ter­ak­ti­ven Modus können bei­spiels­wei­se direkte Anfragen gestartet werden. Gibt man „netsh interface ip show address“ ein, wird die aktuelle IP-Adresse des Computers angezeigt. Die Nutzung des in­ter­ak­ti­ven Modus kann online oder offline erfolgen. Erst­ge­nann­ter Modus setzt Ope­ra­tio­nen direkt um, der Off­line­mo­dus speichert Aktionen und führt sie später aus. Die Ak­ti­vie­rung der hin­ter­leg­ten Aktionen erfolgt zum ge­wünsch­ten Zeitpunkt mit dem Netsh-Befehl „commit“.

Die Netsh-Befehle und ihre Kontexte

Wir haben die wich­tigs­ten Netsh-Befehle mit einer kurzen Er­läu­te­rung der Kontexte in der folgenden Übersicht zu­sam­men­ge­stellt. Handelt es sich um einen all­ge­mei­nen kon­text­über­grei­fen­den Befehl, fehlen weitere Er­läu­te­run­gen in der rechten Spalte. Je nach Be­triebs­sys­tem­ver­si­on und Rolle im Netzwerk (Client oder Server) können die zur Verfügung stehenden Befehle punktuell abweichen. Die Be­fehls­aus­ga­be bei einem Computer mit Windows Server 2016 Dat­a­cen­ter lautet:

Befehl Umsetzung Netsh-Kontext verwaltet
.. Wechsel zu einer Kon­text­ebe­ne höher  
? Zeigt eine Liste der Befehle an  
abort Verwirft Än­de­run­gen, die im Off­line­mo­dus vor­ge­nom­men wurden  
add Fügt einen Kon­fi­gu­ra­ti­ons­ein­trag zur Liste hinzu  
adv­fire­wall Wechsel zum „netsh adv­fire­wall“-Kontext Firewall (Richt­li­ni­en und Kon­fi­gu­ra­ti­on)
alias Fügt einen Alias hinzu  
branch­cache Wechsel zum „netsh branch­cache“-Kontext Ein­stel­lung zum Branch­cache
bridge Wechsel zum „netsh bridge“-Kontext Netz­werk­brü­cke
bye Beendet das Programm  
commit Überträgt Än­de­run­gen, die im Off­line­mo­dus vor­ge­nom­men wurden  
delete Löscht einen Kon­fi­gu­ra­ti­ons­ein­trag aus der Liste der Einträge  
dhcp­cli­ent Wechsel zum „netsh dhcp­cli­ent“-Kontext DHCP-Client
dnsclient Wechsel zum „netsh dnsclient“-Kontext DNS-Cli­ent­ein­stel­lun­gen
dump Zeigt ein Kon­fi­gu­ra­ti­ons­skript an  
exec Führt eine Skript­da­tei aus  
exit Beendet das Programm  
firewall Wechsel zum „netsh firewall“-Kontext Firewall (Richt­li­ni­en und Kon­fi­gu­ra­ti­on)
help Zeigt eine Liste der Befehle an  
http Wechsel zum „netsh http“-Kontext http-Ser­ver­trei­ber (http.sys)
interface Wechsel zum „netsh interface“-Kontext IP-Kon­fi­gu­ra­ti­on (v4, v6)
ipsec Wechsel zum „netsh ipsec“-Kontext IPSec-Richt­li­ni­en
ip­sec­dos­pro­tec­tion Wechsel zum „netsh ip­sec­dos­pro­tec­tion“-Kontext Schutz vor IPSEC-Denial-of-Service-Angriffen
lan Wechsel zum „netsh lan“-Kontext draht­ge­bun­de­ne Netz­werk­schnitt­stel­len
namespace Wechsel zum „netsh namespace“-Kontext DNS-Cli­ent­richt­li­ni­en
netio Wechsel zum „netsh netio“-Kontext Bin­dungs­fil­ter
offline Setzt den aktuellen Modus auf offline  
online Setzt den aktuellen Modus auf online  
popd Wechsel zum durch pushd im Stapel ge­spei­cher­ten Kontext  
pushd Überträgt den aktuellen Kontext auf den Stapel  
quit Beendet das Programm  
ras Wechsel zum „netsh ras“-Kontext Remote-Access-Server
rpc Wechsel zum „netsh rpc“-Kontext Kon­fi­gu­ra­ti­on RPC-Dienst
set Ak­tua­li­siert Kon­fi­gu­ra­ti­ons­ein­stel­lun­gen  
show Zeigt In­for­ma­tio­nen an  

Syn­tax­pa­ra­me­ter für Netsh – was bedeuten sie?

Um konkrete Aktionen und Aufgaben um­zu­set­zen, können Netsh-Befehle mit op­tio­na­len Pa­ra­me­tern versehen werden. Das Syn­tax­sche­ma für die Kom­bi­na­ti­on von Netsh-Befehlen und -Pa­ra­me­tern lautet:

netsh [-a Aliasdatei] [-c Kontext] [-r Remotecomputer] [-u [Domänenname\]Benutzername] [-p Kennwort | *] [Befehl | -f Skriptdatei]

Die folgenden Parameter sind allesamt optional, können also je nach Bedarf ergänzt und verwendet werden:

-a Rückkehr zur Netsh-Ein­ga­be­auf­for­de­rung nach Aus­füh­rung der Ali­as­da­tei
Ali­as­da­tei (engl.: AliasFile) Gibt den Namen der Textdatei an, die min­des­tens einen Netsh-Befehl enthält
-c Wechsel in den an­ge­ge­be­nen Netsh-Kontext
Kontext (engl.: Context) Platz­hal­ter für den ein­zu­ge­ben­den Kontext (z. B. WLAN)
-r Ver­an­lasst, dass der Befehl auf einem ent­fern­ten Computer (Re­mo­te­com­pu­ter) aus­ge­führt wird; dort muss der Re­mo­te­re­gis­trie­rungs­dienst aus­ge­führt werden.
Re­mo­te­com­pu­ter (engl.: Re­mo­te­Com­pu­ter) Name des Re­mo­te­com­pu­ters, der kon­fi­gu­riert wird
-u Zeigt an, dass der Netsh-Befehl unter einem Be­nut­zer­kon­to aus­ge­führt wird
Do­mä­nen­na­me\ (engl.: Do­main­Na­me\) Be­zeich­net die Be­nut­zer­kon­to-Domäne (Stan­dard­wert ist die lokale Domäne, wenn kein spe­zi­el­ler Do­mä­nen­na­me angegeben ist)
Be­nut­zer­na­me (engl.: UserName) Namen des Be­nut­zer­kon­tos
-p Ein Kennwort für das Be­nut­zer­kon­to kann ein­ge­ge­ben werden.
Kennwort (engl: Password) Gibt das Kennwort für das Be­nut­zer­kon­to an, das man mit -u Be­nut­zer­na­me angegeben hat
Netsh-Befehl (engl.: Netsh­Com­mand) Aus­zu­füh­ren­der Netsh-Befehl
-f Beendet Netsh nach Aus­füh­rung der Skript­da­tei
Skript­da­tei (engl.: Script­Fi­le) Aus­zu­füh­ren­des Skript

Zu­rück­set­zen des TCP/IP-Stacks mit Netsh

Eine häufige Anwendung von Netsh-Befehlen ist das Zu­rück­set­zen des TCP/IP-Stacks, der für den Austausch von Da­ten­pa­ke­ten in Netz­wer­ken sorgt. Bei Netzwerk- und In­ter­net­pro­ble­men kann diese Maßnahme, die z. B. defekte oder falsch ein­ge­rich­te­te TCP/IP-Pro­to­kol­le entfernt, sinnvoll sein. Mit folgendem Re­pa­ra­tur­be­fehl wird ein Reset durch­ge­führt und TCP/IPv4 neu in­stal­liert:

netsh int ip reset

Eine Pro­to­koll­da­tei, die die erfolgten Än­de­run­gen do­ku­men­tiert, kann zu­sätz­lich angelegt werden:

netsh int ip reset c:\tcpipreset.txt

Nach Durch­füh­rung des Resets muss der Computer neu gestartet werden.

Tipp

Netsh-Befehle können auch in Batch-Dateien (*.bat) verwendet werden, um Rou­ti­ne­auf­ga­ben zu au­to­ma­ti­sie­ren. In unserem Ratgeber „Batch-Datei erstellen“ erfahren Sie mehr.

Im- und Export von Netz­werk­ein­stel­lun­gen

Mit Netsh können Sie auch aktuelle Netz­werk­ein­stel­lun­gen in eine einfache Textdatei ex­por­tie­ren. Bei Netz­werk­pro­ble­men wird dann eine funk­tio­nie­ren­de und feh­ler­freie Kon­fi­gu­ra­ti­on zügig wie­der­her­ge­stellt.

Im ersten Schritt (Export) wird die Netz­werk­kon­fi­gu­ra­ti­on aus­ge­le­sen, in eine Textdatei ge­schrie­ben (netcnfig.txt) und im Bei­spiel­ver­zeich­nis „Netz­werk­kon­fi­gu­ra­ti­on“ auf dem Laufwerk C:\ hin­ter­legt. Den Ordner „Netz­werk­kon­fi­gu­ra­ti­on“ müssen Sie vor dem erst­ma­li­gen Export manuell auf dem Ziel­lauf­werk anlegen (das geschieht nicht au­to­ma­tisch durch Netsh). Dann wechseln Sie in die Ein­ga­be­auf­for­de­rung und geben folgenden Code ein:

netsh -c interface dump>c:\Netzwerkkonfiguration\netcnfig.txt

Für den späteren Import der Ein­stel­lun­gen ist die folgende Be­fehls­ein­ga­be er­for­der­lich:

netsh -f c:\Netzwerkkonfiguration\netcnfig.txt
Tipp

Windows 10 un­ter­stützt auch bei der Ein­ga­be­auf­for­de­rung Copy-and-Paste. Sie können die Be­fehls­syn­tax einfach aus diesem Artikel kopieren und an­schlie­ßend ins Ein­ga­be­fens­ter einfügen.

IP-Kon­fi­gu­ra­ti­on mit Netsh

Ein ver­brei­te­ter An­wen­dungs­fall von Netsh ist die Änderung von IP-Ein­stel­lun­gen. Soll ein Rechner im Netzwerk keine statische, sondern eine au­to­ma­tisch zu­ge­wie­se­ne IP-Adresse erhalten, setzt man dafür das Dynamic Host Con­fi­gu­ra­ti­on Protocol (DHCP) ein. Dieses Kom­mu­ni­ka­ti­ons­pro­to­koll weist Clients in einem Netzwerk au­to­ma­tisch IP-Adressen und weitere er­for­der­li­che Kon­fi­gu­ra­ti­ons­da­ten zu. Für den Vorgang sind mehrere Schritte nötig:

Im ersten Schritt werden die aktuellen Ein­stel­lun­gen und Namen der ver­füg­ba­ren Netz­werk­ad­ap­ter abgerufen:

netsh interface ipv4 show interface

Nun wird ein be­stimm­ter LAN-Adapter (in diesem Beispiel: Ethernet) als Adressat für die IP-Zuweisung über DHCP bestimmt:

netsh interface ipv4 set address name="Ethernet" source=dhcp

Danach übernimmt DHCP die dy­na­mi­sche Ver­wal­tung für Netz­werk­ein­stel­lun­gen, die den Ethernet-Adapter betreffen.

Windows-Firewall ein- und aus­schal­ten

Wenn Sie die Windows-Firewall ak­ti­vie­ren oder de­ak­ti­vie­ren wollen, reicht eine einfache Netsh-Be­fehls­syn­tax aus. Eine Firewall ak­ti­vie­ren Sie wie folgt:

netsh firewall set opmode enable

Die De­ak­ti­vie­rung der Firewall geschieht mit folgender Be­fehls­zei­le:

netsh firewall set opmode disable
Hinweis

In einigen Kontexten empfiehlt Windows Al­ter­na­ti­ven zur Netz­werk­ad­mi­nis­tra­ti­on mit Netsh. Häufiger genannt wird dabei die Windows Power­Shell, zu der Sie eine Ein­füh­rung in unserem Digital Guide finden.

Zum Hauptmenü