3.3k Aufrufe
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
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
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
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
von massaraksch Experte (3.1k Punkte)
Einfache Prüfung und Mapping:
if exist \\SERVER\SHARE net use X: \\SERVER\SHARE

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

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

mfg, Massaraksch

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...