다음을 통해 공유


네트워크 셸 (Netsh)

네트워크 셸(netsh)은 Windows 및 Windows Server 시스템에서 네트워크 구성 요소 및 서버 역할을 구성, 관리 및 모니터링하기 위한 다재다능하고 포괄적인 명령줄 유틸리티입니다. 이 netsh기능을 사용하면 네트워크 설정을 보고 수정하고, 작업을 자동화하고, 네트워크 문제를 로컬 또는 원격으로 해결할 수 있습니다.

대부분의 시나리오에서 netsh 명령은 네트워킹 서버 역할 및 기능을 관리하기 위한 MMC(Microsoft Management Console) 스냅인과 동등한 기능을 제공합니다. 이를 통해 관리자는 그래픽 MMC 인터페이스를 통해 또는 명령줄 자동화를 사용하여 구성 및 관리 작업을 수행할 수 있습니다.

예를 들어, netsh nps 컨텍스트에서 NPS MMC 스냅인 또는 netsh 명령을 사용하여 NPS(네트워크 정책 서버)를 구성할 수 있습니다. 또한 Windows Server에서 MMC 스냅인으로 사용할 수 없는 IPv6, 네트워크 브리지 및 RPC(원격 프로시저 호출)와 같은 네트워크 기술에 대한 netsh 명령도 있습니다.

Important

Windows 및 Windows Server에서 네트워킹 기술을 관리할 때 netsh보다 Windows PowerShell을 사용하는 것이 좋습니다.

예제 구문

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

다음 매개 변수는 선택 사항입니다.

Parameter Description
-a 별칭 파일을 실행한 후 netsh 셸로 돌아가도록 지정합니다. 별칭 파일은 하나 이상의 netsh 명령을 포함하는 텍스트 파일입니다.
-c 지정된 netsh 컨텍스트를 입력합니다. 컨텍스트는 특정 기능 또는 함수와 관련된 사용 가능한 특정 명령 집합을 나타냅니다.
-r 컴퓨터 이름, FQDN(정규화된 도메인 이름) 또는 IP 주소를 사용하여 원격 컴퓨터에서 명령을 실행하도록 지정합니다. 원격 레지스트리 서비스는 원격 컴퓨터에서 실행 중이어야 합니다. 실행되고 있지 않으면 Windows에 "네트워크 경로를 찾을 수 없음" 오류 메시지가 표시됩니다.

다음 명령을 지정 -r 하면 netsh는 원격 컴퓨터에서 명령을 실행한 다음 명령 프롬프트로 돌아갑니다. 다른 명령 없이 지정 -r 하면 netsh가 원격 모드로 열립니다. 이 프로세스는 netsh 명령 셸에서 사용하는 set machine 것과 유사합니다. 사용하는 -r경우 netsh의 현재 인스턴스에 대해서만 대상 컴퓨터를 설정합니다.
-u 형식을 사용하여 DomainName\Username 특정 사용자 계정에서 netsh 명령을 실행하도록 지정합니다.
-p 사용자 계정의 암호를 입력하도록 지정합니다. 사용되는 경우 * 암호를 안전하게 입력하도록 지정합니다.
Command 실행하려는 netsh 명령입니다.
-f 제공한 스크립트 파일에서 명령을 실행한 후 netsh를 종료하도록 지정합니다.

문자열 값에 문자 사이에 공백이 있는 경우 문자열 값을 따옴표로 묶어야 합니다. 예: -r "contoso remote device". 종료하고 다시 입력 netsh하면 대상 컴퓨터가 로컬 컴퓨터로 다시 설정됩니다. WINS에 저장된 컴퓨터 이름, UNC 이름, DNS 서버에서 확인할 인터넷 이름 또는 IP 주소를 지정하여 원격 컴퓨터에서 netsh 명령을 실행할 수 있습니다.

Note

netsh 매개 변수를 사용하여 다른 컴퓨터에서 netsh firewall 원격으로 명령과 같은 특정 netsh –r 명령을 사용하려면 원격 레지스트리 서비스가 원격 컴퓨터에서 실행되고 있어야 합니다. 이 서비스가 실행되고 있지 않으면 네트워크 통신 오류 메시지가 표시될 수 있습니다.

netsh 명령 실행

높은 권한의 명령 프롬프트나 PowerShell 창을 사용하여 명령을 실행할 수 있습니다. 설치된 네트워킹 구성 요소에 따라 사용하려는 명령이 포함된 컨텍스트로 변경할 수 있습니다.

예를 들어 입력 netsh하면 네트워크 셸로 직접 이동됩니다. 여기서 Enter 키를 입력 dhcp 하고 누르면 명령의 상황에 맞는 메뉴 dhcpclient 로 이동됩니다.

명령 컨텍스트

Netsh는 동적-링크 라이브러리 (DLL) 파일을 사용하여 다른 운영 체제 구성 요소와 상호 작용합니다. 각 netsh 도우미 DLL은 네트워킹 서버 역할 또는 기능과 관련된 명령 그룹인 컨텍스트라는 광범위한 기능 집합을 제공합니다. 이러한 컨텍스트는 하나 이상의 서비스, 유틸리티 또는 프로토콜에 대한 구성 및 모니터링 지원을 제공하여 netsh의 기능을 확장합니다.

예를 들어 dhcpmon.dll dHCP 서버를 구성하고 관리하는 데 필요한 컨텍스트 및 명령 집합을 netsh에 제공합니다.

배치 >를 통해 현재 컨텍스트나 하위 컨텍스트를 알 수 있습니다. 사용 가능한 명령에 대해 netsh ? 키를 실행 netsh help 하거나 눌러 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 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 ?.

명령 하위 텍스트

컨텍스트에는 하위 텍스트라고 하는 명령과 중첩된 컨텍스트가 모두 포함될 수도 있습니다. 예를 들어 인터페이스 컨텍스트에는 특정 네트워크 인터페이스 설정을 관리할 수 있는 ipv4ipv6과 같은 하위 텍스트가 포함되어 있습니다. 다음은 그 예입니다.

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

현재 컨텍스트를 변경하지 않고 또 다른 컨텍스트에서 작업을 수행하려면, netsh shell에 사용하려는 명령의 컨텍스트 경로를 입력하세요. 예를 들어, "NetLAN1"에 대한 정적 IPv4 주소를 추가하고 서브넷 마스크와 게이트웨이 모두를 지정하려면 다음을 입력하세요.

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

범례 서식 지정

다음 서식 범례를 사용하여 대화형으로, 일괄 처리 파일 또는 스크립트에서 명령을 실행할 때 올바른 명령 구문을 해석하고 사용할 수 있습니다.

  • 기울임꼴로 표시된 텍스트는 명령을 입력할 때 제공해야 하는 정보입니다. 예를 들어 명령에 -UserName이라는 매개 변수가 있는 경우 실제 사용자 이름을 입력해야 합니다.
  • 게 표시된 텍스트는 명령을 입력할 때 표시된 대로 정확하게 입력해야 하는 정보입니다.
  • 줄임표 뒤에 이어지는 텍스트는 명령 줄에서 여러 번 반복할 수 있는 매개 변수입니다.
  • 대괄호 [] 사이에 있는 텍스트는 선택적 항목입니다.
  • 선택 항목이 파이프로 구분된 중괄호 { } 사이에 있는 텍스트는 선택 항목 집합을 제공하며, 선택 항목은 다음과 같이 {enable|disable}하나만 선택해야 합니다.
  • Courier 글꼴로 서식이 지정된 텍스트는 코드 또는 프로그램 출력입니다.

Netsh 명령의 문자열 값

문자열 값을 요구하는 매개 변수를 포함하는 명령이 있습니다. 문자열 값에 문자 사이의 공백이 포함된 경우 문자열 값을 큰따옴표로 묶어야 합니다.

interface 문자열 값이 DHCP인 IPv4 네트워크에 대한 매개 변수를 설정할 때 문자열 값 주위에 큰따옴표를 사용합니다. 다음은 그 예입니다.

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

또는 네트워크 인터페이스의 경우, 인덱스 번호를 연결된 이름 대신 사용할 수 있습니다. 다음은 그 예입니다.

netsh interface ipv4> set address name=15 dhcp

인터페이스 하위 텍스트에서 연결된 인터페이스의 이름 또는 인덱스를 찾으려면 인터페이스 유형 및 형식 show interfaces 을 선택하여 자세한 정보를 확인합니다. 다음은 그 예입니다.

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

인터페이스 하위 텍스트에 없는 경우 두 인터페이스에 대해 전체 명령을 실행할 수 있습니다. 다음은 그 예입니다.

netsh interface ipv4 show interfaces
netsh interface ipv6 show interfaces

일괄 처리 파일에서 netsh 사용

일괄 처리 파일은 CMD(Windows 명령 프롬프트)에서 실행할 일련의 명령을 포함하는 일반 텍스트 파일입니다. Batch 파일에는 확장명이 있습니다 .bat.cmd . 반복 작업을 자동화하고, 시스템 구성을 관리하고, 사용자 개입 없이 명령 시퀀스를 실행하는 데 사용됩니다. Batch 파일은 여러 명령줄 지침이 포함된 작업에 특히 유용합니다.

일괄 처리 스크립트는 다음 시나리오에서 유용합니다.

  • 대량 네트워크 구성: 여러 컴퓨터에 대한 네트워크 설정을 구성해야 하는 경우 일괄 처리 파일은 설정을 자동화하여 프로세스를 간소화할 수 있습니다. 대량 구성은 엔터프라이즈 환경 또는 여러 컴퓨터를 관리하는 IT 전문가에게 유용합니다.

  • 네트워크 재구성: 다른 네트워크 환경 간에 전환하는 사용자는 일괄 처리 파일을 사용하여 수동 개입 없이 IP 주소 및 DNS 서버와 같은 설정을 빠르게 변경할 수 있습니다.

  • 백업 및 복원 설정: 변경하기 전에 네트워크 설정을 백업하는 일괄 처리 스크립트를 만들고 필요한 경우 복원할 수 있습니다.

다음은 일괄 처리 파일의 예입니다. "rem"으로 시작하는 줄은 명령이 수행하는 작업을 사용자에게 알리는 주석입니다.

@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

다음은 이 스크립트가 수행하는 작업을 간략하게 설명한 것입니다.

  • "이더넷"이라는 네트워크 인터페이스에 대한 고정 IP 주소, 서브넷 마스크 및 기본 게이트웨이를 설정합니다.
  • 사용할 기본 DNS 서버를 구성합니다.
  • 보조(대체) DNS 서버를 추가합니다.
  • 모든 프로필에 대해 고급 보안이 포함된 Windows 방화벽을 사용하도록 설정합니다.

참고하십시오