스크립트로 DNS 변경


28

자주 DNS 서버 주소를 변경해야합니다. 지금은 '네트워크 및 공유 센터'- '로컬 영역 연결'- 등록 정보 - ipv4를 열고 DNS 번호를 입력하면됩니다.

그것을하는 더 빠른 방법이 있습니까? 배치 파일이나 powershell 스크립트로 할 수 있습니까? DNS를 변경하는 콘솔 명령이 내장되어 있습니까?

답변:


37

기본 DNS 값 :

netsh interface ipv4 set dns "Local Area Connection" static 192.168.0.2

보조 값 :

netsh interface ipv4 add dns "Local Area Connection" 192.168.0.3 index=2

어떤 연결이 올바른지 잘 작동합니다. 이름이 "로컬 영역 연결"이 아니면 작동하지 않습니다. XP를 사용하는 경우 "ipv4"를 "ip"로 변경해야합니다. IPv6도 사용할 수 있습니다.

서브넷 마스크, IP 주소 및 게이트웨이 설정 :

netsh interface ipv4 set address name="Local Area Connection" source=static addr=192.168.1.10 mask=255.255.255.0 gateway=192.168.0.1

네트워크 연결을 찾으려면 cmd 행에서 ipconfig를 사용할 수 있습니다. 그러나 단축 ipconfig 결과에 대해 다음을 사용할 수도 있습니다.

ipconfig | find /I "Ethernet adapter"

위의 ipconfig cmd를 사용하여 연결을 반복 할 수 있습니다 ( 소스 코드 ) dns 서버를 설정합니다.

:: Set primary and alternate DNS for IPv4 on Windows Server 2000/2003/2008 & 
:: Windows XP/Vista/7
@ECHO OFF
SETLOCAL EnableDelayedExpansion

SET adapterName=

FOR /F "tokens=* delims=:" %%a IN ('IPCONFIG ^| FIND /I "ETHERNET ADAPTER"') DO (
SET adapterName=%%a

REM Removes "Ethernet adapter" from the front of the adapter name
SET adapterName=!adapterName:~17!

REM Removes the colon from the end of the adapter name
SET adapterName=!adapterName:~0,-1!

netsh interface ipv4 set dns name="!adapterName!" static 192.168.0.2 primary
netsh interface ipv4 add dns name="!adapterName!" 192.168.0.3 index=2
)

ipconfig /flushdns

:EOF

3
훌륭한 대답. 다음을 포함시켜야합니다. 원천 따옴표 및 코드와 같은 것들.
Ƭᴇcʜιᴇ007

8

또한 DHCP 서버에서 제공하는 DNS 주소를 사용하려면 다음을 수행하십시오.

netsh interface ipv4 set dns "Local Area Connection" dhcp

더하기 주소 / 마스크 / 게이트웨이를 DHCP로 재설정하려면 다음과 같이하십시오. netsh interface ipv4 set address name = "로컬 영역 연결"source = dhcp
hello_earth

6

를 사용하여 Powershell Windows 8 또는 2012의 스크립트를 사용하는 경우 다음과 같은 값을 설정할 수 있습니다.

Set-DnsClientServerAddress -InterfaceAlias Wi-Fi -ServerAddresses "1.1.1.1","2.2.2.2"

어디에 와이파이 관심있는 인터페이스의 이름입니다. 다음을 실행하여 인터페이스를 나열 할 수 있습니다.

Get-NetAdapter

DNS 주소를 재설정하려면 DHCP를 사용하십시오.

Set-DnsClientServerAddress -InterfaceAlias wi-fi -ResetServerAddresses

이동 이 페이지 전체 설명을 볼 수 있습니다.

여기에 사용 된 자필은 Windows 7과 같은 이전 버전에서는 사용할 수 없습니다.


간결하고 매력적입니다. 감사합니다 :) 특히 AWS Opsworks에 유용합니다!
Ganesh Hegde

1

Logman의 WinXP 버전 (sp3 히브리어)에 수정 사항 추가 결국 2 문자를 제거해야하므로 다른 이상한 경우에는 "글로벌"수정이 추가 된 것처럼 보입니다.

:: Set primary and alternate DNS for IPv4 on Windows Server 2000/2003/2008 & Windows XP/Vista/7
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET adapterName=

FOR /F "tokens=* delims=:" %%a IN ('IPCONFIG ^| FIND /I "ETHERNET ADAPTER"') DO (
SET adapterName=%%a

REM Removes "Ethernet adapter" from the front of the adapter name
SET adapterName=!adapterName:~17!

REM WinXP Remove some weird trailing chars (don't know what they are)
FOR /l %%a IN (1,1,255) DO IF NOT "!adapterName:~-1!"==":" SET adapterName=!adapterName:~0,-1!

REM Removes the colon from the end of the adapter name
SET adapterName=!adapterName:~0,-1!
echo !adapterName!
GOTO:EOF
netsh interface ip set dns name="!adapterName!" static x.x.x.x primary
netsh interface ip add dns name="!adapterName!" x.x.x.x index=2
)

http://pastebin.com/9mbMR7sy


1

여기에 새 친구가 있습니다. QuickSetDNS NirSoft에 의해 평소처럼 놀랍습니다.

screenshot

그것은 또한 명령 줄에서 사용할 수 있습니다 :) netsh 이상의 이러한 장점 :

  • 특히 대체 서버를 설정하기위한보다 쉬운 구문
  • 권한 상승을 자동으로 묻습니다.


몇 가지주의 사항 :

  • IPv6가 아닌 IPv4의 설정 만 지원합니다.
  • 명령 줄에서 친숙한 이름이 아닌 어댑터 UUID를 사용해야합니다 (예 : '로컬 영역 연결'). QuickSetDNS 1.21부터 연결 이름도 지원됩니다.)

0

이 대답은 XP1에서 복사됩니다. 이리 . XP1이 답변을 게시하고 싶다면 그렇게 해주시면 답변을 삭제하겠습니다.

다음은 WMIC (Windows Management Instrumentation Command-line)을 사용하여 DNS를 변경하는 또 다른 방법입니다.

명령은 적용 할 관리자로 실행해야합니다.

지우기 DNS 서버 :

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ()

1 개의 DNS 서버 설정 :

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("8.8.8.8")

2 개의 DNS 서버 설정 :

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("8.8.8.8", "8.8.4.4")

특정 네트워크 어댑터에 2 개의 DNS 서버 설정 :

wmic nicconfig where "(IPEnabled=TRUE) and (Description = 'Local Area Connection')" call SetDNSServerSearchOrder ("8.8.8.8", "8.8.4.4")

도메인 검색 목록을 설정하는 또 다른 예는 다음과 같습니다.

wmic nicconfig call SetDNSSuffixSearchOrder ("domain.tld")
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.