Supportnet / Forum / BS-Sonstige
IP auslesen
Frage
Hallo,
ich möchte die über DHCP vergebene IP auslesen und je nachdem wie sie ist eine Umgebungsvariable setzen. Die IP kann ich glaub ich aus der reg auslesen, aber was dann? Wie geht das mit den IF Anweisungen in batch dateien?
beispiel:
pc ip: 10.10.83.100
umgebungsvariable: Server=server01
pc ip: 10.10.99.50
umgebungsvariable: Server=server02
Grüsse
Carsten
Antwort 1 von Undertaker
Hi,
ich vermute mal 2k oder XP als BS. Wie wäre es hiermit:
SETX.EXE findest Du im Resource Kit von Windows 2000.
Die Benutzervariable SERVER ist erst in nachfolgend aufgerufenen Skripten verfügbar. Deshalb wird für die aktuelle Instanz die lokale Variable SERVER gesetzt. Außerdem läßt sich m.W. eine Benutzer- oder Systemvariable nicht mit SETX löschen, weshalb zum Anfang die Benutzervariable SERVER auf einen ungültigen Wert (.) gesetzt wird.
Gruß
Undertaker
ich vermute mal 2k oder XP als BS. Wie wäre es hiermit:
SETX SERVER .
ipconfig | findstr "IP-Adresse" >TMP.DAT
FOR /F "tokens=2,3,4 delims=:. " %%a IN (TMP.DAT) DO SET SUBNET=%%a.%%b.%%c
DEL TMP.DAT
IF "%SUBNET%" EQU "10.10.83" SET SERVER=server01 && SETX SERVER server01
IF "%SUBNET%" EQU "10.10.99" SET SERVER=server02 && SETX SERVER server02SETX.EXE findest Du im Resource Kit von Windows 2000.
Die Benutzervariable SERVER ist erst in nachfolgend aufgerufenen Skripten verfügbar. Deshalb wird für die aktuelle Instanz die lokale Variable SERVER gesetzt. Außerdem läßt sich m.W. eine Benutzer- oder Systemvariable nicht mit SETX löschen, weshalb zum Anfang die Benutzervariable SERVER auf einen ungültigen Wert (.) gesetzt wird.
Gruß
Undertaker

