Как экспортировать записи DNS вашего сервера Windows на веб-страницу

Если вы используете Windows Server, который использует преимущества встроенного DNS-сервера, у вас есть хороший графический интерфейс для просмотра и управления записями DNS. Тем не менее, в большинстве случаев вы, скорее всего, просто просматриваете эти записи, а не обновляете их. Этот процесс не сложен, но может быть хлопотным, поскольку вам необходимо подключиться к компьютеру с DNS-сервером через удаленный рабочий стол, открыть элементы управления DNS и найти запись. Не было бы проще, если бы вы могли просто увидеть эту информацию через Интернет?

Чтобы сделать это возможным, у нас есть очень простой скрипт, который экспортирует ваши текущие записи DNS-сервера в текстовые файлы и делает их доступными через простой индексированный HTML-файл, доступ к которому можно получить с любого устройства через веб-браузер.

конфигурация

В целом, параметры конфигурации скрипта очень просты. Вам просто нужно настроить выходное местоположение, где вы хотите, чтобы конечные файлы заканчивались. Эта папка будет заполнена файлами «default.htm» и «[domain] .dns.zone.txt». Эти имена могут быть настроены в сценарии по мере необходимости.

Сценарий предполагает, что вы назвали свои DNS-файлы, используя соглашение об именах по умолчанию, используемое DNS-сервером Windows ([domain] .dns). Если вы не используете соглашение об именах по умолчанию, скрипт не будет работать должным образом.

В качестве дополнительной функции сценарий может удалять неиспользуемые файлы записей DNS, которые больше не активны на вашем DNS-сервере. Если этот параметр включен (по умолчанию отключен), когда процедура экспорта для файла записи DNS не выполняется, то есть домен не был найден на DNS-сервере, он удаляется. Эти несвязанные файлы записей DNS не наносят никакого вреда и не потребляют никаких ресурсов, поэтому можно оставить их в покое.

Если вы часто обновляете свои записи DNS, вы можете настроить сценарий на регулярное выполнение запланированной задачи, чтобы вы знали, что просматриваемая информация всегда актуальна. Выходные данные сценария доступны только для чтения, поэтому любые изменения, внесенные в получившиеся файлы, не будут отражены на вашем DNS-сервере.

Как это устроено

Сценарий просто читает ваши текущие файлы DNS из расположения Windows по умолчанию, а затем взаимодействует с инструментом командной строки DNSCmd для создания выходных файлов. Средство DNSCmd входит в состав Server 2008, но машины Server 2003 должны установить средства Resource Kit, чтобы установить эту утилиту в вашей системе.

[Domain] .dns.zone.txt – это результат, полученный командой ZoneExport.

Вы можете получить доступ к списку, просмотрев файл «default.htm» в браузере. Если вы настроили сценарий для экспорта в общедоступное местоположение, вы можете просмотреть вывод из любого места.

Нажав на домен, вы можете увидеть всю информацию DNS с вашего DNS-сервера для этого домена.

Сценарий

@ECHO OFF
TITLE DNS Dump to HTML
ECHO DNS Dump в HTML
ECHO Автор: Джейсон Фолкнер
ECHO SysadminGeek.com
ECHO.
ECHO ,

SETLOCAL EnableDelayedExpansion

REM Каталог, в котором должны быть сгенерированы HTML-страницы.
SET OutPath = C: inetpubwwwrootdns
SET HTMLPage = default.htm

REM HTML заголовок/заголовок страницы.
SET Title = DNS Records

REM Удалить файлы записей DNS, которые в данный момент не загружены на DNS-сервер (1 = Да, 0 = Нет).
SET DeleteNotFound = 0

DEL/Q "% OutPath% *"
SET OutFile = "% OutPath %% HTMLPage%"

REM Информация заголовка HTML. Настройте по необходимости.
ECHO ^ >>% OutFile%
ECHO ^ >>% OutFile%
ECHO ^% Title% ^ >>% OutFile%
ECHO ^ >>% OutFile%
ECHO ^ >>% OutFile%
ECHO ^% Title% ^ >>% OutFile%
ECHO ^ Имя машины:% ComputerName% ^ >>% OutFile%
ECHO ^ Генерируется:% Дата%% Время% ^ >>% OutFile%

SET DNSDir =% WinDir% system32dns
FOR/F %% A IN ('DIR/A: -D/B/L% DNSDir% *. Dns') DO (
SET Zone = %% A
SET Zone =! Zone: .dns =!
SET ZoneFile =! Zone! .dns.zone.txt
ECHO Экспорт:! Zone!
DNSCmd./ZoneExport! Zone !! ZoneFile!
ЕСЛИ НЕ СУЩЕСТВУЕТ% DNSDir%! ZoneFile! (
ECHO! Zone! В данный момент не загружается на DNS-сервер.
IF {% DeleteNotFound%} == {1} DEL/F/Q% DNSDir %%% A
) ELSE (
ECHO ^ ! Zone! ^^ >>% OutFile%
REM Вывод всегда выполняется в каталог DNS, поэтому переместите файл в каталог HTML.
MOVE/Y% DNSDir%! ZoneFile! "% OutPath%! ZoneFile!"
)
ECHO.
)

ECHO ^ >>% OutFile%
ECHO ^ >>% OutFile%
ECHO ^ >>% OutFile%

ENDLOCAL

Загрузите DNS-дамп в HTML-скрипт от SysadminGeek.com

Загрузите средства набора ресурсов Windows Server 2003 от Microsoft

Оцените статью
TutoryBird.Ru