Dela via


Nätverksgränssnitt (netsh)

Network Shell (netsh) är ett mångsidigt och omfattande kommandoradsverktyg för att konfigurera, hantera och övervaka nätverkskomponenter och serverroller i Windows- och Windows Server-system. Med netshkan du visa och ändra nätverksinställningar, automatisera uppgifter och felsöka nätverksproblem lokalt eller via fjärranslutning.

I många scenarier erbjuder netsh-kommandona motsvarande funktioner för snapin-modulerna i Microsoft Management Console (MMC) för hantering av nätverksserverroller och funktioner. På så sätt kan administratörer utföra konfigurations- och hanteringsuppgifter antingen via det grafiska MMC-gränssnittet eller med hjälp av kommandoradsautomatisering.

Du kan till exempel konfigurera nätverksprincipservern (NPS) med hjälp av nps MMC-snapin-modulen eller netsh-kommandona i kontexten netsh nps . Dessutom finns det netsh-kommandon för nätverkstekniker, till exempel för IPv6, nätverksbrygga och RPC (Remote Procedure Call), som inte är tillgängliga i Windows Server som en MMC-snapin-modul.

Important

Vi rekommenderar att du använder Windows PowerShell för att hantera nätverkstekniker i Windows och Windows Server snarare än netsh.

Exempelsyntax

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

Följande parametrar är valfria.

Parameter Description
-a Anger att du vill återgå till netsh-gränssnittet när du har kört en aliasfil. En aliasfil är textfilen som innehåller ett eller flera netsh-kommandon.
-c Anger den angivna netsh-kontexten. Kontexten representerar en specifik uppsättning tillgängliga kommandon som är relaterade till en viss funktion eller funktion.
-r Anger att du vill att kommandot ska köras på en fjärrdator med dess datornamn, ett fullständigt domännamn (FQDN) eller IP-adress. Fjärrregistertjänsten måste köras på fjärrdatorn. Om den inte körs visas felmeddelandet "Nätverkssökväg hittades inte".

Om du anger -r följt av ett annat kommando kör netsh kommandot på fjärrdatorn och återgår sedan till kommandotolken. Om du anger -r utan något annat kommando öppnas netsh i fjärrläge. Processen liknar att använda set machine i netsh-kommandogränssnittet. När du använder -r anger du endast måldatorn för den aktuella instansen av netsh.
-u Anger att du vill köra netsh-kommandot under ett specifikt användarkonto med hjälp av DomainName\Username format.
-p Anger att du vill ange ett lösenord för användarkontot. Om * används anger detta att du vill ange lösenordet på ett säkert sätt.
Command Det här är det netsh-kommando som du vill köra.
-f Anger att du vill avsluta netsh när du har kört kommandona från skriptfilen som du anger.

Om strängvärdet innehåller blanksteg mellan tecken måste du omge strängvärdet inom citattecken. Till exempel -r "contoso remote device". När du lämnar och återvänder till netsh, återställs måldatorn till lokal dator. Du kan köra netsh-kommandon på en fjärrdator genom att ange ett datornamn som lagras i WINS, ett UNC-namn, ett Internetnamn som ska matchas av DNS-servern eller en IP-adress.

Note

Om du vill använda vissa netsh-kommandon, till exempel netsh firewall kommandon via fjärranslutning på en annan dator med hjälp av netsh-parametern -r , måste fjärrregistertjänsten köras på fjärrdatorn. Om den här tjänsten inte körs kan du få ett felmeddelande om nätverkskommunikation.

Köra netsh-kommandon

Att köra netsh-kommandon kan utföras med en upphöjd kommandotolk eller ett PowerShell-fönster. Du kan ändra till kontexten som innehåller det kommando som du vill använda beroende på de nätverkskomponenter som är installerade.

Om du till exempel skriver netshtas du direkt till nätverksgränssnittet. Om du skriver dhcp och trycker på Retur tas du till snabbmenyn för dhcpclient kommandon.

Kommandokontexter

Netsh interagerar med andra operativsystemkomponenter med hjälp av DLL-filer (Dynamic Link Library). Varje netsh-hjälp-DLL innehåller en omfattande uppsättning funktioner som kallas en kontext, som är en grupp kommandon som är specifika för en nätverksserverroll eller funktion. Dessa kontexter utökar funktionerna i netsh genom att tillhandahålla konfigurations- och övervakningsstöd för en eller flera tjänster, verktyg eller protokoll.

Till exempel tillhandahåller dhcpmon.dll netsh med kontexten och uppsättningen kommandon som krävs för att konfigurera och hantera DHCP-servrar.

> Placeringen låter dig veta vilken kontext eller underkontext du befinner dig i. Du kan hämta en lista över netsh-kontexter genom att köra netsh ? eller netsh help trycka på Retur för något av de tillgängliga kommandona.

Här är ett exempel på utdata:

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

Kommandounderkontexter

Kontexterna kan också innehålla både kommandon och kapslade kontexter som kallas underkontexter. Gränssnittskontexten innehåller till exempel underkontexter som ipv4 och ipv6, vilket gör att du kan hantera specifika inställningar för nätverksgränssnittet. Till exempel:

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

Om du vill utföra uppgifter i en annan kontext utan att ändra från din aktuella kontext skriver du kontextsökvägen för kommandot som du vill använda i netsh-gränssnittet. Om du till exempel vill lägga till en statisk IPv4-adress för "NetLAN1" och ange både nätmasken och gatewayen skriver du:

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

Formateringsförklaring

Du kan använda följande formateringsförklaring för att tolka och använda rätt kommandosyntax när du kör kommandon interaktivt, i en batchfil eller ett skript.

  • Text i kursiv stil är information som du måste ange när du skriver kommandot. Om ett kommando till exempel har en parameter med namnet –UserNamemåste du ange det faktiska användarnamnet.
  • Text i fetstil är information som du måste skriva exakt som visas när du skriver kommandot.
  • Text följt av en ellips ... är en parameter som kan upprepas flera gånger på en kommandorad.
  • Text mellan hakparenteser [ ] är ett valfritt objekt.
  • Text som är mellan klammerparenteser { } med val avgränsade med ett rör ger en uppsättning alternativ som du bara måste välja en från, till exempel {enable|disable}.
  • Text som är formaterad med Courier-teckensnittet är kod- eller programutdata.

Strängvärden för netsh-kommandon

Det finns kommandon som innehåller parametrar som ett strängvärde krävs för. Om ett strängvärde innehåller blanksteg mellan tecken måste du omsluta strängvärdet inom dubbla citattecken.

När du ställer in parametern interface för IPv4-nätverk med strängvärdet Trådlös nätverksanslutning till DHCP använder du dubbla citattecken runt strängvärdet. Till exempel:

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

För nätverksgränssnitt kan du också använda indexnumret i stället för det namn som är associerat med det. Till exempel:

netsh interface ipv4> set address name=15 dhcp

Om du vill hitta namnet eller indexet för de anslutna gränssnitten i underkontexten för gränssnittet väljer du din gränssnittstyp och typ show interfaces för att visa detaljerad information. Till exempel:

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

Om du inte är i underkontexten för gränssnittet kan du köra det fullständiga kommandot för något av gränssnitten. Till exempel:

netsh interface ipv4 show interfaces
netsh interface ipv6 show interfaces

Använda netsh i batchfiler

En batchfil är en oformaterad textfil som innehåller en serie kommandon som ska köras av Windows-kommandotolken (CMD). Batch-filer har ett .bat- eller .cmd-tillägg. De används för att automatisera repetitiva uppgifter, hantera systemkonfigurationer och köra sekvenser med kommandon utan användarintervention. Batch-filer är särskilt användbara för uppgifter som omfattar flera kommandoradsinstruktioner.

Ett batchskript skulle vara användbart i följande scenarier:

  • Massnätverkskonfiguration: Om du behöver konfigurera nätverksinställningar för flera datorer kan en batchfil effektivisera processen genom att automatisera installationen. Masskonfigurationer är användbara i företagsmiljöer eller för IT-proffs som hanterar flera datorer.

  • Omkonfiguration av nätverk: Användare som växlar mellan olika nätverksmiljöer kan använda batchfiler för att snabbt ändra inställningar som IP-adresser och DNS-servrar utan manuella åtgärder.

  • Inställningar för säkerhetskopiering och återställning: Du kan skapa ett batchskript för att säkerhetskopiera nätverksinställningar innan du gör ändringar och en annan för att återställa dem om det behövs.

Här är ett exempel på en batchfil. Raderna som börjar med "rem" är kommentarer som låter användarna veta vilken åtgärd kommandona utför:

@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

Här är en kort förklaring av vad det här skriptet gör:

  • Den anger en statisk IP-adress, nätmask och standardgateway för nätverksgränssnittet med namnet "Ethernet".
  • Konfigurerar den primära DNS-servern som ska användas.
  • Lägger till en sekundär DNS-server.
  • Aktiverar Windows-brandväggen med Avancerad säkerhet för alla profiler.

Se även