Tutorial/Script: Netzwerklaufwerke in Windows mit Timeout

LAN, WLAN, Routing, Netzwerk-Hardware/-Programme und vieles mehr.

Moderatoren: coolmann, chillmensch

Benutzeravatar
Joyrider
Beiträge: 4454
Registriert: 27.09.2006, 08:45
Wohnort: 127.0.0.1

Tutorial/Script: Netzwerklaufwerke in Windows mit Timeout

Beitragvon Joyrider » 15.05.2018, 10:34

Sie kennen das: Es sollen einem Benutzer diverse Netzwerklaufwerke zugeordnet werden und eine der Verbindungen fehlt. Dadurch kommt es zu erheblich Verzögerungen, wie bei deinem großen Transportunternehmen aus dem Schienenverkehr aus einem nicht näher definierten Land.

Leider hat der net Befehl keinen eigenen Timeout. In meinem konkreten Fall geht es um zwei Verbindungen zu einem NAS und zu einem Raspberry Pi. Beide Gerät laufen in der Regel 24/7, können jedoch aus diversen Gründen auch mal ausgeschaltet sein.
Da ich per Batch-Script, beide Laufwerke die ich oft nutze zeitgleich mappen möchte, ist es ärgerlich wenn es teilweise ewig dauert, bis die fehlende Verbindung übersprungen wird.

Daher habe ich nun das folgende Script gebastelt, welches prüft, ob das Zielsystem selbst erreichbar ist:

Code: Alles auswählen

@ECHO OFF
ECHO Entferne vorhandene Netzwerklaufwerke
net use Y: /del /yes
net use Z: /del /yes

:MOUNT_Y_NAS
echo Teste Erreichbarkeit NAS
ping -4 -n 1 -w 1000 192.168.0.2 | find /i "TTL" >NUL
IF ERRORLEVEL 1 GOTO MOUNT_Z_PI
net use Y: \\192.168.0.2\freigabe /persistent:no
ECHO NAS-Laufwerk erfolgreich zugeordnet
GOTO MOUNT_Z_PI

:MOUNT_Z_PI
echo Teste Erreichbarkeit Pi
ping -4 -n 1 -w 1000 192.168.0.3 | find /i "TTL" >NUL
IF ERRORLEVEL 1 GOTO END
net use Z: \\192.168.0.3\freigabe /persistent:no
ECHO PI-Laufwerk erfolgreich zugeordnet
GOTO END

:END
exit


In meinem Beispiel hat das NAS die IP-Adresse 192.168.0.2 erhalten, der Pi hat die 192.168.0.3.


Als weiteres Script, mit vereinheitlichen Namen für die Laufwerke und mit drei Beispielen:

Code: Alles auswählen

@ECHO OFF
ECHO Entferne vorhandene Netzwerklaufwerke
net use X: /del /yes
net use Y: /del /yes
net use Z: /del /yes

:LWX
echo Teste Erreichbarkeit Ziel X
ping -4 -n 1 -w 1000 192.168.0.2 | find /i "TTL" >NUL
IF ERRORLEVEL 1 GOTO LWY
net use X: \\192.168.0.2\freigabe /persistent:no
ECHO Laufwerk X erfolgreich zugeordnet
GOTO LWY

:LWY
echo Teste Erreichbarkeit Ziel Y
ping -4 -n 1 -w 1000 192.168.0.3 | find /i "TTL" >NUL
IF ERRORLEVEL 1 GOTO LWZ
net use Y: \\192.168.0.3\freigabe /persistent:no
ECHO Laufwerk Y erfolgreich zugeordnet
GOTO LWZ

:LWZ
echo Teste Erreichbarkeit Ziel Z
ping -4 -n 1 -w 1000 192.168.0.3 | find /i "TTL" >NUL
IF ERRORLEVEL 1 GOTO LWY
net use X: \\192.168.0.3\freigabe /persistent:no
ECHO Laufwerk X erfolgreich zugeordnet
GOTO END

:END
REM Bei Problemen die Pause einfach einkommentieren :)
REM pause
exit


Es müssen nur noch die IP-Adressen oder Servernamen, sowie die Freigabenamen angepasst werden.

Die beiden Script sind zum Download als ZIP-Archiv angehängt.
Dateianhänge
netuse.zip
Die beiden Batch-Scripte in einem ZIP-Archiv.
(901 Bytes) 4-mal heruntergeladen
Familie ist nicht das, wo man hineingeboren wird, sondern das, wofür man stirbt.

Zurück zu „Netzwerke“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste