Si vous exécutez un serveur Windows qui tire parti du serveur DNS intégré, vous disposez d’une interface graphique agréable pour afficher et gérer vos enregistrements DNS. Cependant, la grande majorité du temps, vous regardez probablement ces enregistrements plutôt que de les mettre à jour. Ce processus n’est pas difficile, mais peut être compliqué car vous devez vous connecter à la machine serveur DNS via un bureau à distance, ouvrir les contrôles DNS et localiser l’enregistrement. Ne serait-il pas plus facile si vous pouviez simplement voir ces informations sur le Web?
Pour rendre cette fonctionnalité possible, nous avons un script très simple qui exporte vos enregistrements de serveur DNS actuels vers des fichiers texte et les rend disponibles via un simple fichier HTML indexé accessible depuis n’importe quel appareil doté d’un navigateur Web.
Configuration
Dans l’ensemble, les options de configuration du script sont très simples. Vous devez simplement configurer l’emplacement de sortie où vous souhaitez que les fichiers de destination se retrouvent. Ce dossier sera rempli avec un ‘default.htm’ et ‘[domain]Fichiers .dns.zone.txt. Ces noms peuvent être personnalisés dans le script selon les besoins.
Le script part du principe que vous avez nommé vos fichiers DNS en utilisant la convention de dénomination par défaut que le serveur DNS Windows utilise ([domain].dns).
En tant que fonction supplémentaire, le script peut supprimer les fichiers d’enregistrement DNS inutilisés qui ne sont plus actifs dans votre serveur DNS. Si activé (désactivé par défaut), lorsque la procédure d’exportation échoue pour un fichier d’enregistrement DNS, ce qui signifie que le domaine n’a pas été trouvé dans le serveur DNS, il est supprimé. Ces fichiers d’enregistrement DNS non liés ne causent aucun dommage et ne consomment aucune ressource, il est donc prudent de les laisser seuls.
Si vous mettez souvent à jour vos enregistrements DNS, vous pouvez configurer le script pour qu’il s’exécute régulièrement via une tâche planifiée afin que vous sachiez que les informations que vous consultez sont toujours à jour. La sortie du script est en lecture seule, donc les modifications apportées aux fichiers résultants ne seront pas reflétées dans votre serveur DNS.
Comment ça fonctionne
Le script lit simplement vos fichiers DNS actuels à partir de l’emplacement Windows par défaut, puis s’interface avec l’outil de ligne de commande DNSCmd pour produire les fichiers de sortie. L’outil DNSCmd est inclus avec Server 2008, mais les machines Server 2003 doivent installer les outils du kit de ressources pour mettre cet utilitaire sur votre système.
Le ‘[domain].dns.zone.txt ‘sont la sortie produite par la commande ZoneExport.
Vous pouvez accéder à la liste en affichant le fichier de sortie ‘default.htm’ dans un navigateur. Si vous avez configuré le script pour exporter vers un emplacement accessible au public, vous pouvez afficher la sortie de n’importe où.
En cliquant sur un domaine, vous pouvez voir toutes les informations DNS de votre serveur DNS pour ce domaine.
Le scénario
@ÉCHO OFF
TITLE Dump DNS vers HTML
Dump DNS ECHO vers HTML
ECHO Rédigé par: Jason Faulkner
ECHO SysadminGeek.com
ÉCHO.
ÉCHO.
SETLOCAL EnableDelayedExpansion
REM Répertoire où les pages HTML doivent être générées.
SET OutPath = C: inetpubwwwrootdns
SET HTMLPage = default.htm
Titre / en-tête de page HTML REM.
SET Title = Enregistrements DNS
REM Supprimer les fichiers d’enregistrement DNS qui ne sont pas actuellement chargés dans le serveur DNS (1 = Oui, 0 = Non)
SET DeleteNotFound = 0
DEL / Q « % OutPath% * »
SET OutFile = « % OutPath %% HTMLPage% »
Informations d’en-tête HTML REM. Personnalisez au besoin.
ECHO ^ >>% OutFile%
ECHO ^
ECHO ^
ECHO ^ HEAD ^> >>% OutFile%
ECHO ^
ECHO ^
% Titre% ^ >>% OutFile%
ECHO ^ Nom de la machine:% ComputerName% ^ H3 ^> >>% OutFile%
ECHO ^ Généré le:% Date%% Heure% ^ H5 ^> >>% OutFile%
ECHO ^
Nom de la machine:% ComputerName% ^ H3 ^> >>% OutFile%
ECHO ^ Généré le:% Date%% Heure% ^ H5 ^> >>% 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
Exportation ECHO:! Zone!
DNSCmd. / ZoneExport! Zone! ! ZoneFile!
S’IL N’EXISTE PAS% DNSDir%! ZoneFile! (
Zone ECHO! n’est pas actuellement chargé dans le serveur DNS.
IF {% DeleteNotFound%} == {1} DEL / F / Q% DNSDir %%% A
) AUTRE (
ECHO ^ ! Zone! ^ A ^> ^
>>% OutFile%
REM La sortie est toujours vers le répertoire DNS, alors déplacez le fichier vers le répertoire HTML.
MOVE / Y% DNSDir%! ZoneFile! « % OutPath%! ZoneFile! »
)
ÉCHO.
)
ECHO ^
>>% OutFile%
ECHO ^ BODY ^> >>% OutFile%
ECHO ^ HTML ^> >>% OutFile%
ENDLOCAL
Téléchargez DNS Dump to HTML Script depuis SysadminGeek.com
Télécharger les outils du Kit de ressources Windows Server 2003 à partir de Microsoft