DNS Einträge von Geräte die per DHCP eine IP Adresse zugewiesen bekommen werden automatisch im DNS registriert. Es gibt jedoch auch Geräte, die evtl. staatische IP Adressen haben und somit selber keine DNS Einträge erstellen. Dies lässt sich per Batch Datei jedoch relativ pflegen.
Als erstes wird eine Liste von Hostnamen, Record-Typ und IP Adresse benötigt. Wenn die IP Adressen im DHCP hinterlegt sind, kann man sich die Liste aus der DHCP Datenbank erstellen. Wer sich jetzt wundert – warum DHCP, dachte staatisch – ja, aber evtl. sind die IP Adressen per Reservierung im DHCP geblockt, damit diese nicht doppelt vergeben wird.
Die DHCP-DB lässt sich per net sh exportieren.
netsh dhcp server dump > dns_dump.txt
Nun müssen die Records heraus gefiltert werden, für die DNS Einträge erstellt werden sollen. Am einfachsten ist es, wenn sie alle mit einem gleichen Prefix anfangen.
cat dns_dump.txt |grep <PREFIX> | awk '{print $10"t Host (A)t"$8}' | sed 's/"//g' | sed 's/.domain.tld//' > dns.txt
Die neue Textdatei hat anschließend folgendes Format.
Computer123 <TAB> Host (A) <TAB> 192.168.x.x [...]
Nun können mit Hilfe zweiter Batch-Dateien die A-Records bzw. Reverse-Records erstellt werden.
Ein Kommentar
Pingback: Powershell: dnscmd Befehle aus DNS Quelldatei erstellen | .: blog.cscholz.io :.