[Powershell] Supprimer un type de record DNS (windows server)

Supprimer un type de record DNS (windows server) [Powershell] - Shell/Batch - Programmation

Marsh Posté le 22-03-2024 à 13:27:09    

Bonjour,
 
Je préviens tout de suite, Powershell n'est pas vraiment ma tasse de thé. Mais je pense que ça ne devrait pas trop être complexe.
 
Je cherche à supprimer des records AAAA dans le DNS de windows server. Si ça marche très bien entrée par entrée, ce n'est pas viable de le faire à la main (active directory avec actualisation des records). Il faudrait que le script me supprime toutes les entrées avec des GUA, toutes 5 min par exemple (j'ajusterais en fonction).
 
Je suppose qu'il faut lister toutes les entrées et filtrer celles qui commencent par le bon préfixe et ensuite passer tout ça dans une boucle pour exécuter la commande entière avec à chaque fois le hostname correspondant ?
 
Du genre :  

Get-DnsServerResourceRecord -Zonename "contoso.com" | Where-Object { $_.RecordData -like "2001*" }
Boucle
Remove-DnsServerResourceRecord -ZoneName "contoso.com" -RRType "AAAA" -Name "$Hostname" -RecordData "$GUA"

Sauf que j'ai déjà un soucis : le filtre ne semble pas fonctionner sur la colonne RecordData (ça me revoie le prompt vide), alors que ça marche avec Hostname ou RecordType par exemple.
 
 
La commande Get-DnsServerResourceRecord retourne ce format :  

HostName                  RecordType Type       Timestamp            TimeToLive      RecordData
--------                  ---------- ----       ---------            ----------      ----------
DESKTOP-1P37QTS           A          1          01/02/2023 23:00:00  00:20:00        192.168.1.49
DESKTOP-43837UG           A          1          05/09/2022 13:00:00  00:20:00        192.168.1.47
DESKTOP-43837UG           AAAA       28         05/09/2022 13:00:00  00:20:00        fd63:13cf:cda4:0:50cc:2f0c:1a47:41c2
DESKTOP-43837UG           AAAA       28         05/09/2022 13:00:00  00:20:00        2001:470:1f13:629:50cc:2f0c:1a47:41c2


 
Dans cet exemple je veux donc virer le record 2001:470[...]
 
Merci
 
 


---------------
MSI B450 Tomahawk MAX - R7 3700X - Ballistix 2x8 + 2x16 Go 3200 Mhz CL16 - RX570 4 Go / Laptop : Lenovo Gaming 3 - R5 5600H - RX Vega 8/GTX 1650 - 32 Go
Reply

Marsh Posté le 22-03-2024 à 13:27:09   

Reply

Marsh Posté le 23-03-2024 à 21:36:37    

J'avance.
 
Apparemment la syntaxe n'était pas bonne il fallait ajouter $_.RecordData.IPv6Address
 
Et cette fois ça fonctionne, les GUA sont bien listées. Maintenant faut créer cette boucle... J'essaie de trouver un bout de script déjà fait à adapter, mais pas facile.


---------------
MSI B450 Tomahawk MAX - R7 3700X - Ballistix 2x8 + 2x16 Go 3200 Mhz CL16 - RX570 4 Go / Laptop : Lenovo Gaming 3 - R5 5600H - RX Vega 8/GTX 1650 - 32 Go
Reply

Marsh Posté le 25-03-2024 à 16:16:47    

Après pas mal de google, je viens de trouver sur stackoverflow quelqu'un qui voulait faire exactement la même chose.
 
Il faut juste que je bypass la confirmation de suppression à chaque entrée et que je crée une tache et ça sera bon (enfin je pense). Ce qui donne dans mon cas :
 

Code :
  1. Get-DnsServerResourceRecord -ZoneName $ZoneName -ComputerName $DNSServer -RRType AAAA -ErrorAction SilentlyContinue |
  2. Where-Object {$_.RecordData.IPv6Address.IPAddressToString -match '2a01' -and `
  3. $_.RecordData.IPv6Address.IPAddressToString -notmatch '^fd00'
  4. } | Remove-DnsServerResourceRecord -ZoneName $ZoneName


---------------
MSI B450 Tomahawk MAX - R7 3700X - Ballistix 2x8 + 2x16 Go 3200 Mhz CL16 - RX570 4 Go / Laptop : Lenovo Gaming 3 - R5 5600H - RX Vega 8/GTX 1650 - 32 Go
Reply

Marsh Posté le 26-03-2024 à 20:48:45    

Après quelques recherches, j'ai trouvé où était logué les MAJ des records dans l'observateur (Applications and service logs > Microsoft > Windows > DNS-Server > Audit).
 
J'y ai associé le script (event 519) et plus aucune GUA n'est remontée dans le DNS.


---------------
MSI B450 Tomahawk MAX - R7 3700X - Ballistix 2x8 + 2x16 Go 3200 Mhz CL16 - RX570 4 Go / Laptop : Lenovo Gaming 3 - R5 5600H - RX Vega 8/GTX 1650 - 32 Go
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed