TUTOS.EU

Créer un enregistrement DNS sur un AD en Powershell

Import-Module ActiveDirectory
Add-DnsServerResourceRecord -ZoneName "mazonedns.local" -A -Name "nommachine" -IPv4Address "192.168.1.2"
Lien vers le fichier : cliquez ici Copier le code

Pour ajouter un alias

Import-Module ActiveDirectory
Add-DnsServerResourceRecord -ZoneName "mazonedns.local" -CName -Name "l'enregistrement à créer" -HostNameAlias "enregistrement dns sur lequel pointer"
Lien vers le fichier : cliquez ici Copier le code

Si vous avez plusieurs enregistrements à créer, vous pouvez faire un csv et faire une boucle.
Voici un exemple de csv

Zone	recordName	Alias	Type
lazone.com	monalias	enregistrementcible.net	Cname
lazone.com	enregistrementA	28.12.51.62	A
lazone.com	enregistrementB	51.34.99.77	A
Lien vers le fichier : cliquez ici Copier le code

Le script qui lit le csv serait

# Importer le module Active Directory
Import-Module ActiveDirectory

$varCheminRepertoireScript = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Definition)
$currentScriptName = $MyInvocation.MyCommand.Name #Récupération du nom du script en cours
$currentScriptName = $currentScriptName.substring(0,$($currentScriptName.lastindexofany(".")))
$EmplacementFichier = "$varCheminRepertoireScript\$($currentScriptName).csv"

# Spécifier les détails de l'enregistrement DNS à ajouter
$dnsServer = "172.16.8.8"

$ListVMs = Import-Csv -Path $EmplacementFichier -Delimiter "`t"

foreach ($UneVM in $ListVMs) 
{ 

    $recordName = $UneVM.recordName
	if ($recordName)
    {
        $zoneName = $UneVM.Zone

        Write-Host $recordName

        if ($($UneVM.Type)){

            if ($($UneVM.Type) -ieq "Cname"){
                $canonicalName = $UneVM.Alias
                Add-DnsServerResourceRecord -ZoneName $zoneName -CName -Name $recordName -HostNameAlias $canonicalName -ComputerName $dnsServer            
            }

            if ($($UneVM.Type) -ieq "A"){
                $recordType = "A"           # Type d'enregistrement (A pour un enregistrement de type Adresse IP)
                $recordName = $UneVM.recordName
                $recordValue = $UneVM.Alias
                Add-DnsServerResourceRecord -ZoneName $zoneName -A -Name $recordName -IPv4Address $recordValue -ComputerName $dnsServer
            }
        }

    }

}
Lien vers le fichier : cliquez ici Copier le code

2