Гид по технологиям

Экспорт записей DNS Windows Server в веб‑страницу

• 4 min read • Инфраструктура • Обновлено 28 Nov 2025
Экспорт записей DNS Windows Server в HTML
Экспорт записей DNS Windows Server в HTML

Скриншот: экспорт записей DNS Windows Server в HTML

Быстрые ссылки

  • Конфигурация
  • Как это работает
  • Скрипт

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

Сборка и параметры просты. Нужно указать папку вывода, куда будут помещены файлы: index (default.htm) и по одному файлу в формате [domain].dns.zone.txt для каждой зоны. Файловая структура и имена можно настроить в скрипте, но по умолчанию предполагается стандартное имя зоны Windows DNS — [domain].dns.

Важно: если вы используете нестандартную схему именования файлов зон, скрипт не найдёт зоны и не сработает корректно.

Параметры, на которые стоит обратить внимание:

  • OutPath — каталог, куда будут перемещены HTML и файлы зон (обычно веб‑корень, например C:\inetpub\wwwroot\dns).
  • DeleteNotFound — опция удаления файлов зон, которые больше не загружены в DNS Server (1 = включено, 0 = выключено). По умолчанию выключена.
  • Планирование — рекомендовано запускать скрипт через Планировщик задач (Task Scheduler), чтобы информация оставалась актуальной.

Примечание: выходные файлы — только для чтения (read‑only по замыслу), изменения в них не синхронизируются обратно в DNS Server.

Как это работает

Сценарий выполняет два шага:

  1. Считывает список файлов *.dns в системной папке DNS (%WinDir%\system32\dns). По каждому файлу берет имя зоны.
  2. Для каждой зоны вызывает DNSCmd с командой ZoneExport, что генерирует текстовый дамп зоны ([zone].dns.zone.txt). Затем файл перемещается в выходной веб‑каталог, а в default.htm добавляется ссылка на него.

Требования к окружению:

  • Windows Server 2008 и новее: DNSCmd уже включена.
  • Windows Server 2003: необходимо установить Resource Kit Tools, чтобы получить DNSCmd.

Если вы разместите папку вывода в публичном каталоге веб‑сервера, список будет доступен с любого устройства с браузером.

Список доменов в сгенерированной странице default.htm

Клик по домену открывает текстовый дамп зоны с подробными записями DNS.

Пример вывода DNS-записей для выбранного домена

Скрипт

Ниже приведён собственно BAT‑скрипт без изменений — он готов к использованию, при необходимости поправьте переменные OutPath и DeleteNotFound.

 
@ECHO OFF  
TITLE DNS Dump to HTML  
ECHO DNS Dump to HTML  
ECHO Written by: Jason Faulkner  
ECHO SysadminGeek.com  
ECHO.  
ECHO.  SETLOCAL EnableDelayedExpansion  REM Directory where the HTML pages should be generated.  
SET OutPath=C:inetpubwwwrootdns  
SET HTMLPage=default.htm  REM HTML page title/header.  
SET Title=DNS RecordsREMDelete DNS record files which arenot currently loaded in the DNS server (1=Yes, 0=No)  
SET DeleteNotFound=0  DEL /Q "%OutPath%*"  
SETOutFile="%OutPath%%HTMLPage%"REM HTML header info. Customize as needed.  
ECHO ^ >> %OutFile%  
ECHO ^ >> %OutFile%  
ECHO ^%Title%^ >> %OutFile%  
ECHO ^ >> %OutFile%  
ECHO ^ >> %OutFile%  
ECHO ^%Title%^ >> %OutFile%  
ECHO ^Machine Name: %ComputerName%^ >> %OutFile%  
ECHO ^Generated on: %Date% %Time%^ >> %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 Exporting: !Zone!  
 DNSCmd . /ZoneExport !Zone! !ZoneFile!  
 IF NOT EXIST %DNSDir%!ZoneFile! (  
 ECHO !Zone! is not currently loaded in DNS Server.  
 IF {%DeleteNotFound%}=={1} DEL /F /Q %DNSDir%%%A  
 ) ELSE (  
 ECHO ^!Zone!^^
>> %OutFile% REM Output is always to DNS directory, so move the file to the HTML dir. MOVE /Y %DNSDir%!ZoneFile! "%OutPath%!ZoneFile!" ) ECHO. ) ECHO ^
>> %OutFile% ECHO ^
>> %OutFile% ECHO ^
>> %OutFile% ENDLOCAL

Скачать скрипт: Download DNS Dump to HTML Script from SysadminGeek.com

Скачать Resource Kit (если нужно для Server 2003): Download Windows Server 2003 Resource Kit Tools from Microsoft

Пошаговое руководство по развёртыванию

  1. Скопируйте BAT‑файл на сервер с DNS и поместите его в удобную папку.
  2. Откройте и отредактируйте переменные OutPath и DeleteNotFound в начале скрипта.
  3. Убедитесь, что указанный OutPath доступен веб‑серверу (IIS, Apache) для просмотра по HTTP.
  4. Запустите скрипт вручную для первой проверки. Проверьте, появились ли default.htm и файлы *.dns.zone.txt в каталоге вывода.
  5. Настройте Планировщик задач Windows (Task Scheduler) для регулярного запуска (ежедневно/ежечасно в зависимости от частоты изменений).

Пример команды для создания задания (из командной строки с правами администратора):

schtasks /Create /SC DAILY /TN “DNSDump” /TR “C:\inetpub\wwwroot\dns\dump.bat” /ST 02:00

(Отрегулируйте путь и время запуска под свою инфраструктуру.)

Критерии приёмки

Ролевые чек‑листы

Частые проблемы и их решение

Мини‑методология и рекомендации

1‑строчный глоссарий

Итог

Этот простой подход предоставляет быстрый read‑only доступ к текущим записям DNS через веб‑интерфейс без установки дополнительных сложных панелей. Он полезен для быстрого просмотра зон, проверки конфигураций и предоставления информации инженерам и поддержке.

Важно: перед публикацией убедитесь, что политика безопасности компании допускает открытие содержимого зон во внешней сети.

Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро