# #################################### # Author : Sam Nang SOK # Version : 1.0 # Role : Ajouter suffixe DNS # #################################### # Charger les assemblages requis [void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") # Importer fichier CSV $list = Import-Csv -Path "C:\DNS_IP_List.csv" # Définissez les serveurs DNS locaux et les zones DNS sous forme de chaînes pour faciliter l'échange $DNSServer = "IP du serveur DNS ici" $DNSZone = "Nom de zone DNS ici" # Présenter une liste d'éléments à ajouter au DNS à partir du CSV à ajouter également comme début du suivi des succès et des échecs $list | Out-GridView -Title "Vérifiez les nouveaux ajouts DNS" -PassThru $continue = [System.Windows.Forms.MessageBox]::Show("Continuer avec les ajouts?" , "Proceed" , 1) if ($continue -eq "cancel") { exit } write-host "Ajout des nouveaux DNS" # Boucle pour prendre chaque ligne dans CSV et ajouter un enregistrement DNS A avec un enregistrement de pointeur foreach ($item in $list) { Add-DnsServerResourceRecord -computername $DNSServer -ZoneName $DNSZone -A -Name $item.Name -IPv4Address $item.IP -CreatePtr } # Vider le cache DNS Clear-DnsClientCache # Tester chaque entrée de recherche directe Write-host "Tester la recherche des nouveaux DNS Direct." $forwardfail = "" foreach ($forward in $list) { $testforward = Test-Connection $forward.Name -count 1 -Quiet write-host $forward.Name if ($testforward -like 'False') { $forwardfail = $forwardfail + $forward.Name + "," } } # Testez chaque entrée de recherche inversée Write-host "Tester la recherche des nouveaux DNS Inverse" $reversefail = "" foreach ($reverse in $list) { $testreverse = Test-Connection $reverse.Name -count 1 -Quiet write-host $reverse.IP if ($testreverse -like 'False') { $reversefail = $reversefail + $reverse.IP + "," } } # Générer des données de rapport if ($forwardfail -ne "") { Write-host "Certaines entrees de recherche directe peuvent avoir echoue. Verifier le rapport." } else { write-host "Recherches directes de nouvelles entrées DNS reussies." } if ($reversefail -ne "") { Write-host "Certaines entrees de recherche inversee peuvent avoir echoue. Verifier le rapport." } else { write-host "Recherches inversees pour les nouvelles entrees DNS reussies." } # Extraction du rapport write-host `n`n" Forward lookup failures:`n"$forwardfail.split(",")`n`n, "Reverse lookup failures:`n"$reversefail.split(",")`n