3k Aufrufe
Gefragt in WindowsXP von
Hallo Windowsexperten,

wie kann ich (z.B. durch ein Skript im Autostartordner) ein/mehrere Netzlaufwerk/e einbinden wenn der Server tatsächlich verfügbar ist?

Mein theoretischer Entwurf:

a) Skript liegt im Autostart
b) Skript prüft, ob Server online ist
c) Skript prüft, ob auch der Sambaserver das Protokoll bereitstellt
d) Skript verbindet mehrere Netzlaufwerke mit den Freigaben

e) wenn der Server offline ist, soll es KEINE Fehlermeldung geben

Wie man das alles unter Linux macht ist mir klar, aber Windows...

Bitte um Hilfe :)

10 Antworten

0 Punkte
Beantwortet von pcdock Experte (3.1k Punkte)
Hi,

1. vielleicht zuerst "ping Servername" oder Ip feststellen ob er Online ist.

PcDock

[sub]Hardware lebt und ist eigenständig[/sub]
0 Punkte
Beantwortet von
Ja aber wie muss ein solches Skript aussehen?

Ich muss wahrscheinlich eine Datei anlegen.

autonetzlw.bat

eine Verknüpfung lege ich dann in den Autostartordner...

und dann?

Was muss in dieser Datei drin stehen? Meine Linuxbefehle versteht das Windowssystem nich :(

Rettet meine Seele...
0 Punkte
Beantwortet von
@echo off
cls
set SERVER1=192.168.155.130
set SERVER2=192.168.155.131

ping -n 1 %SERVER2% >nul || goto SERVER1
set HOST=%SERVER2%
goto BACKUP


:SERVER1
ping -n 1 %SERVER1% >nul || goto NEGATIVE
set HOST=%SERVER1%
goto BACKUP


:NEGATIVE
set SERVER1=
set SERVER2=
set HOST=

@REM echo NO HOST ONLINE

:BACKUP
@REM echo MAKING BACKUP @ %HOST%
FOR /F "TOKENS=1 DELIMS=." %%A IN ('DATE/T') DO SET DD=%%A
FOR /F "TOKENS=2 DELIMS=." %%A IN ('DATE/T') DO SET MM=%%A
FOR /F "TOKENS=3 DELIMS=." %%A IN ('DATE/T') DO SET YY=%%A
FOR /F "TOKENS=1 DELIMS=:" %%A IN ('TIME/T') DO SET HH=%%A
FOR /F "TOKENS=2 DELIMS=:" %%A IN ('TIME/T') DO SET II=%%A

set MYTIME=%DD%%MM%%YY%%HH%%II%
set DD=
set MM=
set YY=
set HH=
set II=
set MYTIME=%MYTIME: =-%
cd %TMP%
mkdir %MYTIME%
set BACKUPDIR="%USERPROFILE%\Documents\Arbeit"
xcopy /Q /E /Y %BACKUPDIR% %MYTIME%
set BACKUPDIR=
"C:\Program Files\tools\net\putty\PSCP.EXE" -q -pw STRENGGEHEIM -r %MYTIME% mac@%HOST%:backup/A
@REM rmdir /S /Q %MYTIME%
@REM echo %MYTIME%
set MYTIME=
@REM set SERVER1=
set SERVER2=

if not %HOST%==%SERVER1% goto SERVER1 else goto END


:END
set SERVER1=
set SERVER2=
@REM echo END OF SCRIPT

007 ist etwas übertrieben, das ist mein backup-script, füge irgendwo net - kommando ein, ist nicht perfekt
0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
Einfache Prüfung und Mapping:
if exist \\SERVER\SHARE net use X: \\SERVER\SHARE

mfg, Massaraksch
0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
Da das Timeout des IF EXIST ... etwas lang ist könnte man ja vorher per PING testen (z.B. so ähnlich wie in AW3).
Bei Misserfolg des PING wird abgebrochen und ansonsten die Shares prüfen und mappen:
ping -n 1 SERVER || goto :EOF
if exist \\SERVER\SHARE1 net use X: \\SERVER\SHARE1
if exist \\SERVER\SHARE2 net use Y: \\SERVER\SHARE2
usw.

mfg, Massaraksch
0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
PS: Die imaginäre Sprungmarke :EOF muß nicht definiert werden, die bedeutet in CMD-Scripts immer... Naja, was eben EOF ausgesprochen heißt ;o)

mfg, Massaraksch
0 Punkte
Beantwortet von doc-jay Experte (6.8k Punkte)
EOF: End Of File
0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
Ach nee... Das hast du jetzt nicht etwa für mich erklärt? ;o)

mfg, Massaraksch
0 Punkte
Beantwortet von doc-jay Experte (6.8k Punkte)
Nicht für dich.. für alle die es nicht wissen ;-)
0 Punkte
Beantwortet von massaraksch Experte (3.1k Punkte)
Ist schon klar ;o)

mfg, Massaraksch
...