From 024b12c3b65700c8db55e1e5f4a7fb10dd5de8ab Mon Sep 17 00:00:00 2001 From: Sam Nang SOK Date: Fri, 20 May 2022 11:36:38 +0000 Subject: [PATCH] Ajouter 'Ajouter_DNS_suffix.ps1' --- Ajouter_DNS_suffix.ps1 | 69 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Ajouter_DNS_suffix.ps1 diff --git a/Ajouter_DNS_suffix.ps1 b/Ajouter_DNS_suffix.ps1 new file mode 100644 index 0000000..e6a22c0 --- /dev/null +++ b/Ajouter_DNS_suffix.ps1 @@ -0,0 +1,69 @@ +# #################################### +# 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