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:
Ü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.
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 109272
Url: https://administrator.de/contentid/109272
Ausgedruckt am: 05.11.2024 um 18:11 Uhr
4 Kommentare
Neuester Kommentar
Servus,
es gibt ein paar Varianten, die mir da einfielen:
Aber du willst es ja per IP, also:
Gruß
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....
Servus,
Rischdisch - das macht das "&&"
Gruß
Ich nehm die LOGONSERVER-Variante.
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ß