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-Key: 130663

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

Printed on: April 19, 2024 at 01:04 o'clock

Member: miniversum
miniversum Dec 01, 2009 at 11:50:10 (UTC)
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
Mitglied: 60730
60730 Dec 01, 2009 at 12:37:06 (UTC)
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ß
Member: sixoffive
sixoffive Dec 01, 2009 at 12:56:46 (UTC)
Goto Top
Du hast mir sehr geholfen, vielen danke