HOSTS Datei mit aktueller IP der Computers aktualisieren

In einer meiner virtuellen Maschinen läuft eine Lotus Connections 2.5 Pilot Installation.

Die IP-Adresse dieser VM ändert sich nun abhängig davon auf welchem Computer ich diese VM ausführe (Mal gebridged, mal geNATed, mal in diesem Netz, mal in jenem Netz).

In der Konfiguration des WebSphere Application Server (WAS) ist der vollqualifizierende Hostname verwendet worden.

Damit der WAS beim Start keine Probleme bekommt seinen eigenen Host zu finden um die zahlreichen Java-Komponenten zu initialisieren, muss der vollqualifizierende Hostname auf die korrekte IP-Adresse verwiesen.

Da ich keine Lust hatte das Ändern dieses HOSTS-Eintrags immer manuell zu bewerkstelligen habe ich eine kleine Stapeldatei geschrieben, die das übernimmt:

@ECHO OFF

SET FQDN=lcpilot.labs.schaefer-it.net
SET FILE_HOSTS=%SYSTEMROOT%\System32\drivers\etc\hosts
SET FILE_TEMP=%TEMP%\hosts-%RANDOM%-%TIME:~6,5%.tmp

FOR /F "tokens=2 delims=:" %%a IN ( 'IPCONFIG ^| FIND "IP "' ) DO SET IP=%%a
TYPE "%FILE_HOSTS%" | FIND /V "%FQDN%" > "%FILE_TEMP%"
ECHO %IP% %FQDN% >> "%FILE_TEMP%"
COPY /Y /V "%FILE_TEMP%" "%FILE_HOSTS%"

Die Datei liegt dann auf dem Desktop und mit einem Doppelklick darauf stimmt die Namen-zu-IP Zuordnung für den Computer.

Danach kann der WAS gestartet werden. Voila…

Wermutstropfen: Das Skript funtioniert nur mit einem Netzwerkadapter korrekt, was bei meiner virtuellen Maschine kein Problem darstellt, da sie nur eines besitzt. Im anderen Fall liefert der IPCONFIG-Aufruf nämliche mehr als eine Zeile zurück!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.