sixoffive
Goto Top

IP mittels Batch auslesen und dann weiter entscheiden

Suche eine Möglichkeit Scripte nach IP Adressen starten zu lassen.

Hallo,

ich bin auf der suche nach einem Batchscript das wie folgt funktionieren soll:

if "pc-ip nach dem schema" 192.168.1.x then all_user.cmd
else all_user_2.cmd


leider bin ich eine absolute graupe was das programmieren angeht.

Der Hintergrund ist folgender:

Wir haben 2 Standorte die durch eine VPN-Verbindung miteinander verbunden sind. es handelt sich aber um ein und dieselbe Domäne nur mit unterschiedlichen IP-Adressen. Die Mitarbeiter die in dem entfernten Standort arbeiten, sollen ein anderes Loginscribt bekommen als die in am Hauptstandort. Leider kann ich das nicht über die Usereinstellungen in der Domäne machen, da die Mitarbeiter öfters zum Hauptstandort kommen oder mit Notebooks arbeiten. Ergo benötige ich diese Unterscheidung nach IP und nicht nach PC oder Username.

Ich hoffe ihr könnt mir weiter helfen...


ALx

Content-ID: 130663

Url: https://administrator.de/contentid/130663

Ausgedruckt am: 05.11.2024 um 17:11 Uhr

miniversum
miniversum 01.12.2009 um 12:50:10 Uhr
Goto Top
IP auslesen geht mit dem Befehl ipconfig
die ausgabe kansnt du dan mit einer pipe (|) umleiten und mit dem find Befehl nach der IP durchsuchen.
Das ganze sieht dann im cmd Fenster so aus:
ipconfig|find "IP"|find "192.168.0."
Um diese anzeige unsichtbar zu machen kannst du die ins nichts umleiten mit >NUL 2>NUL
und Abfragen geht dann über den Errorlevel, entweder direkt oder indiregt über &&
Insgesamt sieht das ganze dann in einer Batch so aus:
ipconfig^|find "IP"^|find "192.168.0.">NUL 2>NUL  
if %errorlevel% equ 0 goto:Bereich0

echo Anderer Bereich
goto:eof

:Bereich0
echo Bereich 192.168.0.x
goto:eof

oder in etwas kürzerer Form:
ipconfig^|find "IP"^|find "192.168.0.">NUL 2>NUL goto:Bereich0  

echo Anderer Bereich
goto:eof

:Bereich0
echo Bereich 192.168.0.x
goto:eof
60730
60730 01.12.2009 um 13:37:06 Uhr
Goto Top
Servus,

Alternativ zu Miniversums Vorschlag geht auch ein:

ping -n 1 %computername% |find "192.168.0." && goto Bereich0  

Wobei es bei einem VPN und zwei Standorten - einfacher ist - den Logonserver zu benutzen.

if "%logonserver%"=="\\serverstandort0" goto Bereich0  

Gruß
sixoffive
sixoffive 01.12.2009 um 13:56:46 Uhr
Goto Top
Du hast mir sehr geholfen, vielen danke