Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Netzlaufwerke über Batch verbinden, IP-Adressen abhängig.





Frage

Hallo Gemeinde, neben meinen kleinen Problem "Über Batch Programm ausführen, wenn vorhanden" habe ich jetzt auch noch ein anderes. Über ein Anmeldescript sollen Netzlaufwerke verbunden werden. Da wir bei uns verschiedene IP-Bereiche haben mit jeweils einen eigenen Server in diesem Bereich, müsste in der Batch eine Abfrage erfolgen: Wenn du in in diesem IP-Bereich bist, verbinde deine Netzlaufwerke mit diesem Server an. Wenn du in einem anderen IP-Bereich bist, vervbinde deine Netzlaufwerke mit einen andern Server. Das habe ich bereits jeschrieben, bzw. rausjesucht: - - - - - REM IP-Script fuer Herr Mustermann for /f "Tokens=2 Delims=[] skip=1" %%i in (´ping -n 1 %computername%´) do set IPAdress=%%i if "%ipadress%" == "128.26.10.*" goto M1 if not "%ipadress%" == "128.26.10.*" goto F1 :M1 REM M.Mustermann in Musterstadt net use j: \\muster\muster GOTO ENDE REM - - - - - - :F1 if "%ipadress%" == "128.26.30.*" goto M2 if not "%ipadress%" == "128.26.30.*" goto F2 :M2 REM M.Mustermann in Musterdorf net use j: \\muster3\muster GOTO ENDE REM - - - - - - :F2 @echo off net send %computername% Hallo, %username%, der angebene IP-Bereich konnte nicht gefunden werden. Bitte wenden Sie sich an den Systemadministrator. @echo on GOTO ENDE :ENDE - - - - - Leider funktioniert dat nicht richtig. Aber ich habe nicht den blassesten Schimmer, wie die Lösung des Problems seien könnte. Ich hoffe ihr könnt mir dabei helfen. Im Vorraus möchte ich meine Dank ausdrücken. DANKE; DANKE; DANKE Liebe Grüße, euer IT304

Antwort 1 von Das_Urmel

Kewin Bock durch deinen Code zu wandern.
Was ist dein Proibelm - auf den punkt gebracht?
mfg
Michael

Antwort 2 von IT304

Aus irgendeinen Grund wurde hier der Kopf abjeschnitten. Also nochmal von vorne.

Über eine Batch soll ermittelt werden, in welchen IP-Adressbereich man sich befindet.

Ist man in dem einen IP-Bereich soll z.B. das Netzlaufwerk J: mit Server 1 verbunden werden

wenn im IP - Bereich 128.28.10.* dann
J: \\server1\muster

Ist man in einem anderen IP-Bereich soll dat selbe Passieren, bloß mit dem dortigen Server, z.B. Server2

wenn im IP-Bereich 128.28.30.* dann
J:\\server2\muster

Ich hoffe ihr könnt mir jetzt helfen.

LG, IT304

Antwort 3 von Undertaker

Hi,

probiere es mal damit:

IPCONFIG | FINDSTR "IP-Adresse" >ip.tmp
FOR /F "tokens=2,3,4 delims=:. " %%a IN (ip.tmp) DO SET SubNet=%%a.%%b.%%c
DEL ip.tmp

IF %SubNet% == 128.28.10 GOTO F1
IF %SubNet% == 128.28.30 GOTO F2
GOTO FEHLER

:F1
:: M.Mustermann in Musterstadt
NET USE J: \\server1\muster /PERSISTENT:NO
GOTO ENDE

:F2
:: M.Mustermann in Musterdorf
NET USE J: \\server2\muster /PERSISTENT:NO
GOTO ENDE

:FEHLER
@ECHO OFF 
net send %computername% Hallo, %username%, der angebene IP-Bereich konnte nicht gefunden werden. Bitte wenden Sie sich an den Systemadministrator. 
@ECHO ON
GOTO ENDE 

:ENDE


Gruß
Undertaker

Antwort 4 von Undertaker

Nachtrag:

setzte vor jedes NET USE noch ein NET USE J: /DELETE um sicherzugehen, das J: nicht für ein Netzlaufwerk verwendet wird.

Gruß
Undertaker

Antwort 5 von _gau_

Hatte mal ein ähnliches Problem und dafür ein Kommandozeilentool (Programm "isip.exe") geschrieben.

Dann kann man z.B. so ungefähr vorgehen:

@echo off
isip 128.28.10. >nul
if %errorlevel%==0 net use x: \\blabla1... & goto :EOF

isip 128.28.20. >nul
if %errorlevel%==0 net use x: \\blabla2... & goto :EOF

isip 128.28.30. >nul
if %errorlevel%==0 net use x: \\blabla3... & goto :EOF

echo Bereich nicht gefunden!

usw.

[gau]

Antwort 6 von IT304

Hallo Gemeinde

der Tipp von Undertaker hat wunderbar jeklappt.

DANKE.

Euer, IT304

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: