우리는 200개 미만의 도메인을 다른 위치(원격 데스크톱 액세스 가능)에 있는 DNS 서버에서 우리 위치에 있는 서버로 마이그레이션하고 있습니다. 모든 영역 전송을 한 번에 수행하는 간단하고 스크립트된 방법이 있습니까? 각 서버는 Windows 2003이고 도메인은 Active Directory가 아닌 인터넷 도메인입니다.
답변1
조우! 정말 재미있을 것 같습니다.
Windows 지원 도구의 DNSCMD 유틸리티를 사용하여 영역을 열거한 다음 /ZoneExport 매개 변수를 사용하여 영역을 내보낸 다음 /ZoneAdd 매개 변수를 사용하여 가져올 수 있습니다. 스크립트가 너무 나쁘지 않아야합니다.
내보내기는 영역을 호스팅하는 서버의 %windir%\system32\dns 디렉터리로 내보내기 때문에 약간 특이합니다.
@echo off
set SRC=source-server
set DST=destination-server
for /f "usebackq delims= " %%i in (`dnscmd %SRC% /EnumZones ^| find "Primary"`) do call :DOZONE %%i
goto end
:DOZONE
dnscmd %SRC% /ZoneExport %1 %1.dns
dnscmd %DST% /ZoneAdd %1 /Primary /file \\%SRC%\C$\Windows\System32\DNS\%1.dns
:end
물론 스크래치 DNS 서버가 한두 개는 없지만 구문은 꽤 비슷할 것입니다. "ZoneAdd"를 제외한 모든 것을 테스트했습니다.
답변2
이를 수행하기 위한 스크립트가 있는지는 모르겠지만 DNS 영역을 다른 서버로 이동하는 간단하고 좋은 방법은 새 서버를 다양한 영역의 보조 서버로 만든 다음 정보가 전송되면 이를 기본 서버로 만드는 것입니다. 이것은 훌륭하고 "크로스 플랫폼"이므로 무슨 일이 있어도 거의 작동하도록 보장됩니다.
dnscmd.exe를 보고 명령줄에서 이 작업을 수행하면 보조 파일 생성을 스크립트로 작성할 수 있습니다.
답변3
소스 DNS 서버의 %SystemRoot%\System32\DNS 폴더를 대상으로 복사하고 몇 가지 레지스트리 키를 내보내거나 가져와야 합니다.
HKEY_LOCAL_MACHINE\시스템\CurrentControlSet\서비스\DNS\Zones HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\DNS 서버\Zones
단순히 DNS 폴더를 복사하는 것만으로는 작동하지 않습니다. 적어도 대상 w2k8 DNS 서버의 경우에는 그랬습니다.+
이 MS KB에서 모든 프로세스를 볼 수 있습니다.