DNS Migration

Wenn man einen DNS Server ohne Active Directory oder mit Wechsel des Active Directory migrieren will, gibt es wenig automatische Möglichkeiten.

Die einfachste Variante ist den DNS Server zu exportieren und auf dem neuen Server wieder zu importieren. Dazu kann man mit dem folgenden Script beginnen. Das Script exportiert und importiert nur A Records.

Ablaufplan

graph LR;
  A(Export auf altem Server) --> B(Kopieren der Datei auf den neuen Server) 
  B --> C(Import auf neuem Server)

Script

$src = "SOURCE-SERVER"
$zone = "ZONE-NAME"
$dst = "DESTINATION-SERVER"

# DNS Einträge exportieren - auf dem Quellsystem ausführen
$dns = Get-DnsServerResourceRecord -ComputerName $src -ZoneName $zone
# mit like kann man auch auf gewünschte Einträge filtern
$dns | Where-Object { $_.Hostname -like '*' } | Select-Object HostName, @{label="IP";expression={$_.RecordData.IPv4Address.IPAddressToString}} | Export-Csv -Path dns.csv

# DNS Einträge importieren - auf dem Zielsystem ausführen
$dnsimp = Import-Csv -Path dns.csv
$dnsimp | ForEach-Object { Add-DnsServerResourceRecordA -Name $_.HostName -IPv4Address $_.IP -ZoneName $zone -ComputerName $dst }