Batch Skripte
Die Urmutter der Windows Skripte hat im Laufe der Zeit immer wieder Erweiterungen
erfahren, auf die hier nicht eingegangen wird. Für eine Sammlung
von Links zur Batch Programmierung verweise ich auf diese
Webseite.
Das nachfolgende Batch Skript in Verbindung mit choice.exe und dnscmd.exe
dient als Anregung für den Einsatz in der Praxis. Mit dem Skript können aus den Einträgen einer Datei Hosts.txt
die A und PTR Records in einem Microsoft DNS Server erstellt werden.
Das kann beispielsweise sehr nützlich bei der Migration einer NT oder
Samba Domäne auf Active Directory und DNS sein.
|
|
In der Datei Hosts.txt muss je Server eine Zeile Hostname;IP-Adresse
vorhanden sein.
Im Skript werden mit set ... die Variablen definiert.
Mit choice ... und errorlevel wird auf der Konsole eine
Abfrage nach ja/nein ausgewertet, um einen Abbruch zu ermöglichen.
Mit for /f ... do () wird die Datei hosts.txt zeilenweise eingelesen
und die eingelesenen Werte zur Weiterverarbeitung an dnscmd.exe übergeben.
Mit tokens=1-2 ist festgelegt, dass die durch delims=; getrennten
Werte (also Hostname und IP-Adresse) über die Variablen %%a und %%b
als Parameter an dnscmd.exe übergeben werden.
Mit dnscmd %SRV% /RecordAdd %FZONE% ... wird für jeden Host
ein A Record auf Your_DNS_Server erzeugt.
Mit for /f ... do () wird die Datei hosts.txt ein zweites Mal zeilenweise
eingelesen und die eingelesenen Werte über delims=; getrennt
zur Weiterverarbeitung an eine eingeschlossene for /f ... in ('echo
%%b') do () Loop übergeben.
In dieser eingeschlossenen Loop wird mit for /f nicht eine Datei
eingelesen, sondern die Ausgabe von 'echo %%b' (IP-Adresse) ausgewertet.
Aus der IP-Adresse wird mit tokens=3,4 der 3. und 4. Teil der IP-Adresse
extrahiert und an dnscmd %SRV% /RecordAdd %RZONE% ... als Parameter
zur Erzeugung eines PTR Records übergeben.
Die Ausgaben von dnscmd werden in eine Datei umgeleitet.
Ich hoffe, dass ich mit meinen Skripten ein paar praktische Beispiele geben kann.
