Oggi ho avuto la necessità di modificare via script un record DNS di tipo A.
Tramite WMI, è possibile accedere alla classe MicrosoftDNS_AType che rappresenta un singolo record A ospitato da un server DNS Microsoft. La classe mette a disposizione il metodo Modify che consente di modificare i valori di TTL e indirizzo IP associati a tale record.
Come primo passo, otteniamo via Powershell un oggetto MicrosoftDNS_AType che rappresenti il record che vogliamo modificare:
$dnsEntry = Get-WmiObject -ComputerName myDNSServer -Namespace "root\MicrosoftDNS" -Class "MicrosoftDNS_AType" -Filter "OwnerName = 'myrecord.mydomain.com'" |
Dobbiamo specificare:
- ComputerName, nome o indirizzo IP del server DNS
- OwnerName, record A (incluso il suffisso di dominio) da modificare
Possiamo ora utilizzare il metodo Modify per cambiare l’IP associato al record, mantenendo il TTL originale:
$modifiedDnsEntry = $dnsEntry.Modify($dnsEntry.TTL, "192.168.1.1") |