kaffeepause
Goto Top

Batch IP-Bereich-abhängig

Abhängig von der aktuellen IP (DHCP) sollen bestimmte Zeilen einer Batch aufgerufen werden.

Tut mir Leid, ich gebe es auf; bestimmt steht die Lösung schon irgendwo hier im Forum, aber ich finde sie nicht.

Also, ich möchte bestimmte Dateien per Batch kopieren, und zwar abhängig davon, in welchem Standort sich ein Rechner befindet.
Das möchte ich aber nicht vom Active Directory abhängig machen, denn:
Wenn ein Benutzer, der normal in Standort A arbeitet, mit seinem Notebook zu Gast in Standort B ist, dann soll er auch vom dortigen Server versorgt werden.
Die IP ist (wegen DHCP) variabel, wohingegen die AD-Kontos in den bestehenden Standorten/OUs bleiben.

Konkret:
  • Wir haben mehrere Standorte mit jeweils eigenen IP-Adressbereichen (Subnetzen).
  • Die Clients haben alle DHCP.
  • Den Benutzern wird über eine Gruppenrichtlinie ein Anmeldeskript zugewiesen.
  • Dieses Skript sollte den aktuellen Standort des PCs/Notebooks ermitteln und bestimmte Dateien vom nächstliegenden Server holen.

Über die Zeile IPCONFIG | FIND /c "20.50.10." beispielsweise würde ich als Rückgabewert 0 kriegen, wenn ich nicht in diesem Netz wäre.
Leider weiß ich nicht, wie ich diesen Rückgabewert abfangen kann!
Ich kann den Rückgabewert weder in eine Variable schreiben (SET ip: IPCONFIG | FIND /c "20.50.10." funktioniert nicht),
noch davor eine IF-GOTO-Anweisung setzen (IF IPCONFIG | FIND /c "20.50.10."=="0" funktioniert auch nicht).
Ich hatte es mit IF ERRORLEVEL 0 versucht, aber dieser Rückgabewert ist eben kein Errorlevel, sondern eine korrekte Antwort.

Content-Key: 109272

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

Ausgedruckt am: 29.03.2024 um 10:03 Uhr

Mitglied: 60730
60730 17.02.2009 um 16:02:05 Uhr
Goto Top
Servus,

es gibt ein paar Varianten, die mir da einfielen:

if "%logonserver%"=="dcvonstandort1" goto...  
if "%logonserver%"=="dcvonstandort2" goto...  

Aber du willst es ja per IP, also:

ipconfig |find "gateway . . . . . . . . . : 192.168.1.1" && set "ziel"=="Server1"  
ipconfig |find "gateway . . . . . . . . . : 192.168.2.1" && set "ziel"=="Server2"  
copy quelle %ziel%\freigabe\xyz....
Gruß
Mitglied: Kaffeepause
Kaffeepause 17.02.2009 um 16:15:34 Uhr
Goto Top
shit, das war schnell!
Ich war noch am Tippen!

Ja, auf die IP bestehe ich nicht, das wollte ich noch schreiben.
Die LOGONSERVER-Variable ist super. Die war mir nicht geläufig.
Ich nehm die LOGONSERVER-Variante.

Trotzdem zum Verständnis nochmal zur IP:
Der angehängte Befehl SET wird nur dann ausgeführt, wenn der FIND-Befehl erfolgreich war,
hab ich das richtig verstanden?
Mitglied: 60730
60730 17.02.2009 um 16:20:11 Uhr
Goto Top
Servus,

Ich nehm die LOGONSERVER-Variante.
face-wink
Der angehängte Befehl SET wird nur dann ausgeführt, wenn der FIND-Befehl erfolgreich war,
hab ich das richtig verstanden?
Rischdisch - das macht das "&&"

Gruß
Mitglied: Kaffeepause
Kaffeepause 17.02.2009 um 16:23:21 Uhr
Goto Top
Fein, dann ist nicht nur mein Problem gelöst, sondern ich hab sogar noch die Wahl WIE ich es letztendlich machen kann.

Toll!

Gruß zurück und stressfreie Woche!