Les enregistrements DNS sont généralement gérés dynamiquement par votre serveur DNS. Cependant, parfois, vous pourriez constater que vous avez besoin de créer, modifier ou supprimer manuellement divers types d’enregistrements DNS. Ou même d’ajouter diverses tâches DNS à des scripts d’automatisation. C’est dans des moments comme celui-ci que l’utilisation des cmdlets DNS PowerShell est la meilleure solution.
Ce billet de blog est accompagné d’une vidéo réalisée par David Lamb, contributeur TechSnips. N’hésitez pas à la regarder ou, si vous préférez le texte, continuez la lecture!
Consultation des enregistrements DNS avec les cmdlets DNS PowerShell
Vous pouvez consulter tous les enregistrements de ressources pour une zone DNS donnée en utilisant simplement le cmdlet DNS PowerShell Get-DnsServerResourceRecord
. En utilisant ce cmdlet, vous pouvez spécifier le paramètre ZoneName
, qui listera tous les enregistrements DNS dans cette zone.
Comme vous pouvez le voir ci-dessous, cela génère une liste assez longue d’enregistrements.

Ce comportement met en évidence l’un des avantages de ce cmdlet particulier par rapport à la console DNS graphique. La vue vous donne tous les enregistrements de cette zone, quel que soit le dossier dans lequel ils se trouvent. Dans la console graphique, il faudrait beaucoup de temps pour rassembler ces informations.
Maintenant, réduisez un peu cette liste. En utilisant la même cmdlet, mais en ajoutant le paramètre RRType
pour rechercher des enregistrements A (hôtes IPv4) et en filtrant les enregistrements où le Time To Live (TTL) est supérieur à 15 minutes, nous obtenons une liste un peu plus gérable. Vous pouvez utiliser la cmdlet Where-Object
pour filtrer sur de nombreuses propriétés différentes des enregistrements DNS.

Allant un peu plus loin, vous pouvez également rechercher des enregistrements dans une zone DNS différente et même sur différents serveurs DNS.
Dans l’exemple ci-dessous, nous rechercherons des enregistrements A dans la zone canada.corp.ad sur le serveur DNS DC03

Ajout et suppression d’enregistrements d’hôtes A
Pour ajouter un enregistrement d’hôte, vous devrez utiliser la cmdlet PowerShell DNS Add-DnsServerResourceRecordA
. Dans l’exemple ci-dessous, vous devez ajouter un enregistrement d’hôte pour une nouvelle imprimante que vous ajoutez au réseau. Il sera ajouté à la zone corp.ad avec le nom reddeerprint01, et son adresse IP est 192.168.2.56.

S’il s’avère que vous devez supprimer un enregistrement, peut-être que l’imprimante a été mise hors service, vous pouvez utiliser le code suivant pour supprimer l’enregistrement d’hôte que nous venons de créer:
Ajout et suppression d’enregistrements d’hôtes AAAA
Il est tout aussi facile d’ajouter un enregistrement d’hôte IPv6. Bien sûr, ces enregistrements diffèrent légèrement, car ils sont répertoriés en tant qu’enregistrements AAAA. Vous remarquerez que nous utilisons maintenant la cmdlet DNS PowerShell Add-DnsServerResourceRecordAAAA
. C’est un changement subtil, mais important.
Ajoutez un enregistrement à la zone corp.ad pour le nouveau serveur Intranet IT à fc00:0128, puis vérifiez rapidement qu’il a été créé avec la commande suivante.

Ajout d’enregistrements de recherche inversée (PTR)
À l’aide des cmdlets DNS PowerShell, vous pouvez également ajouter des enregistrements PTR. Un enregistrement de recherche inversée permet au client d’interroger un serveur DNS pour demander le nom d’hôte correspondant à une adresse IP fournie.
Créer un enregistrement PTR est un processus relativement facile, mais il y a une information importante que vous devrez connaître avant de commencer à ajouter des enregistrements PTR. Les zones de recherche inversée ne sont pas créées par défaut. Vous devrez configurer votre zone de recherche inversée avant d’ajouter des enregistrements. Heureusement, c’est relativement facile à faire.
Création d’une zone DNS
Utilisez la cmdlet DNS PowerShell Add-DnsServerPrimaryZone
pour créer une nouvelle zone DNS. Dans ce cas, puisque vous créez une zone de recherche inversée, fournissez-lui l’ID réseau.
Dans cet exemple, j’ai également choisi de définir la portée de réplication sur l’ensemble de la forêt AD, et j’ai spécifiquement ciblé DC03 comme serveur DNS préféré :

Maintenant que la zone de recherche inversée est en place, vous pouvez ajouter un enregistrement PTR pour une nouvelle imprimante appelée CYQF-Printer-01.canada.corp.ad qui a une adresse IP de 192.168.2.56. Comme cet enregistrement est pour la zone canada.corp.ad, vous ciblerez le serveur DNS DC03.
Maintenant que la zone est créée, créons un enregistrement PTR en utilisant la commande Add-DnsServerResourceRecordPtr
. Lors de l’utilisation de cette commande, il est important de noter quelques points.
- Vous devez spécifier le nom de la zone en utilisant l’ID réseau dans l’ordre inverse, puis ajouter .in-addr.arpa. Ainsi, pour notre ID réseau 192.168.2.0/24, le nom de la zone est 2.168.192.in-addr.arpa.
- Le paramètre
Name
est la partie hôte de l’adresse IP. Pour notre imprimante à l’adresse 192.168.2.56, leName
est 56.
Une fois que vous avez ces informations, le code requis pour créer l’enregistrement PTR est relativement simple, bien qu’un peu long:

Ajout d’enregistrements Alias (CNAME)
Pour terminer ce tutoriel, créez un enregistrement d’alias d’hôte ou un enregistrement CNAME en utilisant la commande Add-DnsServerResourceRecordCName
.
Ces enregistrements vous permettent de spécifier un alias pour un enregistrement d’hôte existant dans la zone. Cela devient particulièrement utile, par exemple, si vous souhaitez fournir à vos utilisateurs financiers une adresse pour leur application financière accessible via le web.
Vous pourriez créer un alias appelé finance et le pointer vers le serveur web webapp25.corp.ad. Une fois l’application migrée vers le nouveau serveur web avec un nouveau nom d’hôte, vous changeriez alors l’enregistrement CNAME pour pointer finance vers le nouveau hôte. De cette façon, les utilisateurs n’ont pas besoin de mettre à jour leurs signets. Ils peuvent continuer à accéder à leur application en utilisant l’adresse finance.corp.ad.

Si vous souhaitez approfondir vos connaissances sur le DNS et découvrir des fonctionnalités plus avancées, assurez-vous de consulter tous les autres articles DNS ici.
Résumé
Cela conclut notre tutoriel sur l’utilisation de PowerShell avec les enregistrements DNS. Avec les connaissances que vous avez accumulées ici, vous devriez désormais être capable de gérer de grandes quantités d’enregistrements DNS de manière interactive ou même automatisée si vous vous en donnez la peine !