Windows 명령 프롬프트를 통해 DNS 접미사 추가


13

우리 회사에는 두 개의 연결 별 DNS 접미사가 있습니다. lhs.local 및 cis.local 컴퓨터를 배포 할 때 수행해야하는 많은 일반적인 관리 작업을 처리하는 배치 파일을 작성하려고하며 이러한 작업 중 하나를 추가하는 작업이 있습니다.

프로그래밍 방식으로이 작업을 수행하는 명령이 있습니까?


1
Zeroconf TLD를 사용하는 이유는 무엇입니까?
Ignacio Vazquez-Abrams

제발 날 시작하지 마세요, 롤 2 단계 지원을받을 때 이미징 이니셔티브를 개척 한 사람은 왜됩니까?
Chris Sobolewski

답변:


8

이 게시물을 통해

TCP / IP 연결에 DNS 접미사를 원격으로 추가하려면 IP 주소 목록과 다음 명령 만 있으면됩니다.

wmic /USER:administrator /PASSWORD:adminpassword /node:@c:\iplist.txt nicconfig call SetDNSSuffixSearchOrder (mydomain.com)

여기서 C:\iplist.txtIP 주소 목록이 포함되며 줄로 구분됩니다.

다른 방법은 레지스트리 를 통해 추가 하는 것입니다

reg add HKLM\System\currentcontrolset\services\tcpip\parameters /v “NV Domain” /d “mydomain.com” /f

있다 마이크로 소프트 KB 항목 뿐만 아니라 동일한에 대한이.


6
위의 reg 방법을 사용하면 효과가 없었습니다. 따라서 값 이름을 "NV Domain"이 아닌 "SearchList"로 설정하는 방법에 대한 KB 링크를 읽었습니다. / v SearchList를 사용하면 작동합니다 (기존 도메인을 모두 지울 수 있으므로 / d 목록에 포함 시키십시오)
Nathan Kidd

2

Sathya의 답변과 기타 자료를 바탕으로 다음과 같이 썼습니다.

@echo off
SETLOCAL EnableDelayedExpansion

:: Input here the additional suffix
set suffix=your.own.suffix

:: Get existing DNS suffixes
FOR /F "usebackq tokens=1,2* delims= " %%A in (`reg QUERY HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /V SearchList ^| findstr REG_SZ`) do ( 
    set OLD_DNS=%%C
)

:: Check if it starts with our suffix
set OK=NO
FOR /F "tokens=1,2* delims=," %%A in ("%OLD_DNS%") do (
    if "%%A" == "%suffix%" set OK=YES
)

:: Add our suffix first if it's not there
if "%OK%" == "NO" (
    echo Conf KO: %OLD_DNS%
    reg add HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /V SearchList /D "%suffix%,%OLD_DNS%" /F
) else (
    echo Conf OK: %OLD_DNS%
)

ipconfig /flushdns
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.