POWERSHELL : Création et suppression d’enregistrements DNS avec Dnscmd et PowerShell


 

 

Dans ce post, nous allons voir comment créer et supprimer des enregistrements DNS via un script PowerShell.
Dans certains cas, comme l’installation ou le déménagement de certaines plateformes, il est parfois nécessaire de créer ou de mettre à jour des entrées DNS massivement.

 

1. Préparation des fichiers CSV

Les fichiers peuvent être créés avec Excel ou simplement le Bloc-notes Windows.
Nom des fichiers : DeleteDNS.csv et AddDNS.csv.

Format des fichiers CSV séparé par des points virgules :

Hostname : Nom de l’enregistrement DNS
Type : A (Adresse d’hôte), CNAME (Alias), PTR, NS, MX …
IP : Adresse IP pour le hostname

 

2. Création du script PowerShell

Créer un script UpdateDNS.ps1 :

# VARIABLES
$Zone = "ms.local"
$SrvDNS = "SRV01"
$DeleteDNS = import-csv C:\Temp\DeleteDNS.csv -Delimiter ";"
$AddDNS = import-csv C:\Temp\AddDNS.csv -Delimiter ";"
#
# Suppression d'enregistrements DNS
foreach ($entry in $DeleteDNS){
dnscmd $SrvDNS /recordDelete $Zone $entry.Hostname $entry.Type $entry.IP
}
#
# Ajout d'enregistrements DNS
foreach ($entry in $AddDNS){
dnscmd $SrvDNS /recordAdd $Zone $entry.Hostname $entry.Type $entry.IP
}

 

3. Lancement du script UpdateDNS.ps1

Afin de lancer le script, vérifier que l’Execution Policy PowerShell et en Unrestricted :
Dans une console PS Taper :

Get-ExecutionPolicy

La console devrait vous retourner : Unrestricted

Si ce n’est pas le cas taper :

Set-ExecutionPolicy Unrestricted

Lancer le script via une console PowerShell (en mode administrateur)
Les entrées sont ainsi créées dans la zone précisée :

 

Pour plus d’informations et de détails sur l’outil DNSCMD :

http://technet.microsoft.com/en-us/library/cc772069(v=ws.10).aspx

 

Print Friendly, PDF & Email

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *