Delen via


Network Shell (netsh)

Network Shell (netsh) is een veelzijdig en uitgebreid opdrachtregelprogramma voor het configureren, beheren en bewaken van netwerkonderdelen en serverfuncties op Windows- en Windows Server-systemen. Met kunt netshu netwerkinstellingen weergeven en wijzigen, taken automatiseren en netwerkproblemen lokaal of extern oplossen.

In veel scenario's bieden de netsh-opdrachten een equivalente functionaliteit aan de MMC-snap-ins (Microsoft Management Console) voor het beheren van serverrollen en functies. Hierdoor kunnen beheerders configuratie- en beheertaken uitvoeren via de grafische MMC-interface of met behulp van opdrachtregelautomatisering.

U kunt bijvoorbeeld NPS (Network Policy Server) configureren met behulp van de NPS MMC-module of de netsh-opdrachten in de netsh nps context. Daarnaast zijn er netsh-opdrachten voor netwerktechnologieën, zoals voor IPv6, netwerkbrug en Remote Procedure Call (RPC), die niet beschikbaar zijn in Windows Server als mmc-module.

Important

Het is raadzaam windows PowerShell te gebruiken om netwerktechnologieën in Windows en Windows Server te beheren in plaats netshvan .

Voorbeeldsyntaxis

netsh [-a <Aliasfile>] [-c <Context>] [-r <RemoteMachine>] [-u <DomainName>\<Username>] [-p <Password> | *] [Command> | -f <ScriptFile>]

De volgende parameters zijn optioneel.

Parameter Description
-a Hiermee geeft u op dat u wilt terugkeren naar de netsh-shell nadat u een aliasbestand hebt uitgevoerd. Een aliasbestand is het tekstbestand dat een of meer netsh-opdrachten bevat.
-c Hiermee voert u de opgegeven netsh-context in. De context vertegenwoordigt een specifieke set beschikbare opdrachten die betrekking hebben op een bepaalde functie of functie.
-r Hiermee geeft u op dat de opdracht moet worden uitgevoerd op een externe computer met behulp van de computernaam, een FQDN (Fully Qualified Domain Name) of IP-adres. De Remote Registry-service moet worden uitgevoerd op de externe computer. Als het niet wordt uitgevoerd, wordt in Windows het foutbericht 'Netwerkpad niet gevonden' weergegeven.

Als u opgeeft -r gevolgd door een andere opdracht, voert netsh de opdracht uit op de externe computer en keert vervolgens terug naar de opdrachtprompt. Als u opgeeft -r zonder een andere opdracht, wordt netsh geopend in de externe modus. Het proces is vergelijkbaar met het gebruik van set machine in de netsh-opdrachtshell. Wanneer u gebruikt -r, stelt u de doelcomputer alleen in voor het huidige exemplaar van netsh.
-u Hiermee geeft u op dat u de netsh-opdracht wilt uitvoeren onder een specifiek gebruikersaccount met behulp van DomainName\Username de indeling.
-p Hiermee geeft u op dat u een wachtwoord wilt opgeven voor het gebruikersaccount. Als * dit wordt gebruikt, geeft u aan dat u het wachtwoord veilig wilt invoeren.
Command Dit is de netsh-opdracht die u wilt uitvoeren.
-f Hiermee geeft u op dat u netsh wilt afsluiten na het uitvoeren van de opdrachten uit het scriptbestand dat u opgeeft.

Als de tekenreekswaarde spaties tussen tekens bevat, moet u de tekenreekswaarde tussen aanhalingstekens plaatsen. Bijvoorbeeld: -r "contoso remote device". Nadat u de doelcomputer hebt verlaten en opnieuw hebt ingevoerd netsh, wordt de doelcomputer gereset als de lokale computer. U kunt netsh-opdrachten uitvoeren op een externe computer door een computernaam op te geven die is opgeslagen in WINS, een UNC-naam, een internetnaam die moet worden omgezet door de DNS-server of een IP-adres.

Note

Als u bepaalde netsh-opdrachten wilt gebruiken, zoals de netsh firewall opdrachten op afstand op een andere computer met behulp van de netsh-parameter -r , moet de Remote Registry-service worden uitgevoerd op de externe computer. Als deze service niet wordt uitgevoerd, ontvangt u mogelijk een foutbericht over netwerkcommunicatie.

Netsh-opdrachten uitvoeren

Uitvoeren van netsh commando's kan worden gedaan met behulp van een opdrachtprompt met verhoogde bevoegdheden of een PowerShell-venster. U kunt de context wijzigen die de opdracht bevat die u wilt gebruiken, afhankelijk van de geïnstalleerde netwerkonderdelen.

Als u bijvoorbeeld typt netsh, wordt u rechtstreeks naar de netwerkshell gebracht. Als u hier typt dhcp en drukt op Enter, gaat u naar het contextmenu voor dhcpclient opdrachten.

Opdrachtcontexten

Netsh communiceert met andere onderdelen van het besturingssysteem met behulp van DLL-bestanden (Dynamic Link Library). Elke netsh helper DLL biedt een uitgebreide set functies die een context worden genoemd. Dit is een groep opdrachten die specifiek zijn voor een netwerkserverfunctie of -functie. Deze contexten breiden de functionaliteit van netsh uit door configuratie- en bewakingsondersteuning te bieden voor een of meer services, hulpprogramma's of protocollen.

dhcpmon.dll biedt bijvoorbeeld netsh de context en set opdrachten die nodig zijn voor het configureren en beheren van DHCP-servers.

De > plaatsing laat u weten in welke context of subcontext u zich bevindt. U kunt een lijst met netsh-contexten verkrijgen door netsh ? uit te voeren netsh help of op Enter te drukken voor een van de beschikbare opdrachten.

Hier is een voorbeeldoutput:

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

Subcontexten van opdracht

De contexten kunnen ook zowel opdrachten als geneste contexten bevatten, ook wel subcontexten genoemd. De interfacecontext bevat bijvoorbeeld subcontexten, zoals ipv4 en ipv6, waarmee u specifieke netwerkinterface-instellingen kunt beheren. Voorbeeld:

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

Als u taken in een andere context wilt uitvoeren zonder te veranderen van uw huidige context, typt u het contextpad van de opdracht die u wilt gebruiken in de netsh-shell. Als u bijvoorbeeld een statisch IPv4-adres voor NetLAN1 wilt toevoegen en zowel het subnetmasker als de gateway wilt opgeven, typt u:

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

Legenda opmaken

U kunt de volgende opmaaklegenda gebruiken om de juiste opdrachtsyntaxis te interpreteren en te gebruiken bij het interactief uitvoeren van opdrachten, in een batchbestand of een script.

  • Tekst in cursief is informatie die u moet opgeven wanneer u het commando typt. Als een opdracht bijvoorbeeld een parameter heeft met de naamUserName, moet u de werkelijke gebruikersnaam typen.
  • Tekst vetgedrukt is informatie die u precies moet typen zoals wordt weergegeven wanneer u de opdracht typt.
  • Tekst gevolgd door een beletselteken ... is een parameter die meerdere keren in een opdrachtregel kan worden herhaald.
  • Tekst tussen vierkante haken [ ] is een optioneel item.
  • Tekst tussen accolades { } met keuzes gescheiden door een pijp biedt een reeks keuzes waaruit u slechts één moet selecteren, zoals {enable|disable}.
  • Tekst die met het lettertype Courier is opgemaakt, is code of programma-uitvoer.

Tekenreekswaarden voor netsh-opdrachten

Er zijn opdrachten die parameters bevatten waarvoor een tekenreekswaarde is vereist. In het geval dat een tekenreekswaarde spaties tussen tekens bevat, moet u de tekenreekswaarde tussen dubbele aanhalingstekens plaatsen.

Bij het instellen van de interface parameter voor IPv4-netwerken met een tekenreekswaarde van Draadloze netwerkverbinding met DHCP, gebruikt u dubbele aanhalingstekens rond de tekenreekswaarde. Voorbeeld:

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

Voor netwerkinterfaces kan het indexnummer ook worden gebruikt in plaats van de naam die eraan is gekoppeld. Voorbeeld:

netsh interface ipv4> set address name=15 dhcp

Als u de naam of index van de verbonden interfaces in de subcontext van de interface wilt vinden, selecteert u uw interfacetype en -type show interfaces om gedetailleerde informatie weer te geven. Voorbeeld:

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

Als u zich niet in de subcontext van de interface bevinden, kunt u de volledige opdracht voor beide interfaces uitvoeren. Voorbeeld:

netsh interface ipv4 show interfaces
netsh interface ipv6 show interfaces

Netsh gebruiken in batchbestanden

Een batchbestand is een tekstbestand zonder opmaak dat een reeks opdrachten bevat die moeten worden uitgevoerd door de Windows-opdrachtprompt (CMD). Batch-bestanden hebben een .bat of .cmd extensie. Ze worden gebruikt om terugkerende taken te automatiseren, systeemconfiguraties te beheren en opdrachtenreeksen uit te voeren zonder tussenkomst van de gebruiker. Batch-bestanden zijn vooral handig voor taken waarvoor meerdere opdrachtregelinstructies nodig zijn.

Een batchscript is handig in deze scenario's:

  • Bulknetwerkconfiguratie: als u netwerkinstellingen voor meerdere computers moet configureren, kan een batchbestand het proces stroomlijnen door de installatie te automatiseren. Bulkconfiguraties zijn handig in bedrijfsomgevingen of voor IT-professionals die meerdere machines beheren.

  • Netwerkherconfiguratie: gebruikers die schakelen tussen verschillende netwerkomgevingen kunnen batchbestanden gebruiken om snel instellingen zoals IP-adressen en DNS-servers te wijzigen zonder handmatige tussenkomst.

  • Instellingen voor back-up en herstel: u kunt een batchscript maken om back-up te maken van netwerkinstellingen voordat u wijzigingen aanbrengt en een andere script maken om ze indien nodig te herstellen.

Hier volgt een voorbeeld van een batchbestand. De regels beginnen met 'rem' zijn opmerkingen die gebruikers laten weten welke actie de opdrachten uitvoeren:

@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

Hier volgt een korte uitleg van wat dit script doet:

  • Hiermee stelt u een statisch IP-adres, subnetmasker en standaardgateway in voor de netwerkinterface met de naam Ethernet.
  • Hiermee configureert u de primaire DNS-server die moet worden gebruikt.
  • Hiermee voegt u een secundaire DNS-server (fallback) toe.
  • Hiermee schakelt u Windows Firewall met Geavanceerde beveiliging in voor alle profielen.

Zie ook