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