samtrex
Goto Top

Netzwerkabfrage via VB-Script

Hallo mal wieder,
ich habe folgendes mit einem Script vor:

Es soll testen ob Netzwerkverbindung mit xxx.xxx.xxx.xxx besteht.
Wenn Ja dann net use X: \\xy

Als zweites bräuchte ich auch noch ein Script, mit dem ich eine Anwendung via CMD starte, allerdings so das man die Parameter nicht mehr sieht.

C:\xy.exe -s passwort

Dachte mir das man die ganzen Parameter vielleicht im Klartext in dem Script schreibt, und es dann in eine .exe konvertiert.
Habe aber leider nicht herausgefunden, wie ich das mache.
Probieren tue ich alles in Excels 2003 VB Editor.

Fänd es echt Klasse wenn mir da wer helfen könnte.
Besten Dank schon mal!!!

MfG Sam

--- LÖSUNG ---

@echo off
cls
net use * /del
net use /p:no
SET Heimnetz = nicht verbunden
SET Drucker = nicht verbunden
SET OnlineServer = nicht verbunden
SET MediaCenter = nicht verbunden
SET Notebook = nicht verbunden

:Heimnetz
ping 192.168.0.1 -n 1 -w 1
if not errorlevel 1 (set Heimnetz = verbunden)
if not errorlevel 1 goto INTERNET
if errorlevel 1 goto ENDE

:INTERNET
ping 81.173.194.68 -n 1 -w 100
if not errorlevel 1 (set Heimnetz = verbunden + Internet)
if not errorlevel 1 (start C:\Programme\Trillian\Trillian.exe)

:Drucker
ping 192.168.0.10 -n 1 -w 1
if not errorlevel 1 (net use K: \\192.168.0.10\memory_card)
if not errorlevel 1 (set Drucker = verbunden an Kface-smile

:OnlineServer
ping 192.168.0.4 -n 1 -w 1
if not errorlevel 1 (net use L: \\OnlineServer\Eingehend)
if not errorlevel 1 (net use M: \\OnlineServer\Intern)
if not errorlevel 1 (set OnlineServer = verbunden an L: Mface-smile

:MediaCenter
ping 192.168.0.3 -n 1 -w 1
if not errorlevel 1 (net use B: \\MediaCenter\Verwaltung)
if not errorlevel 1 (net use N: \\MediaCenter\Eingehend)
if not errorlevel 1 (net use O: \\MediaCenter\Audio)
if not errorlevel 1 (net use P: \\MediaCenter\Video)
if not errorlevel 1 (set MediaCenter = verbunden an B: N: O: Pface-smile

:NoteBook
ping 192.168.0.5 -n 1 -w 1
if not errorlevel 1 (net use R: \\NoteBook\$C)
if not errorlevel 1 (net use S: \\NoteBook\$D)
if not errorlevel 1 (set NoteBook = verbunden an R: Sface-smile
goto ENDE2

:ENDE
cls
set Heimnetz

net use
goto END

:ENDE2
cls
set Heimnetz
set MediaCenter
Set OnlineServer
set Notebook
set Drucker

net use

:END
pause
exit

--- ---

Letzte Frage dazu, wie sähe das als VB Script aus und wie mache ich aus der dan eine EXE?

Dankeschön!!!

Gruß Sam

Content-Key: 22907

Url: https://administrator.de/contentid/22907

Ausgedruckt am: 28.03.2024 um 19:03 Uhr

Mitglied: NaCkHaYeD
NaCkHaYeD 26.01.2006 um 06:49:20 Uhr
Goto Top
Testen der Verbindung kannst du, falls der Ping einen Rückgabewert hat, dann würde es mit "errorlevel" funktionieren, allerdings weiss ich es nicht.

Jedoch mit einem kleinen C-Progrämmchen und der "icmgping.h" funktioniert es. Könnte ich dir schnell schreibseln, wenn es keine andere Möglichkeit gäbe.

mfg
Thomas
Mitglied: SamTrex
SamTrex 26.01.2006 um 10:55:59 Uhr
Goto Top
Mit dem Ping das habe ich in dem Batch mal probiert, so steht es hier auch in nem anderen Beitrag.

call :Router 192.168.0.1

:Router

:END

---
Wenn ich das dann richtig verstanden habe, müsste ich bei einem Pingwert größer 0 ist einen ERRORLEVEL Wert von 1 oder mehr bekommen.
Sprich:

IF ERRORLEVEL 0 (echo %1 ist Online)
IF ERRORLEVEL 1 (echo %1 ist Offline)

nur das funktioniert nicht.
Mitglied: Biber
Biber 26.01.2006 um 11:48:01 Uhr
Goto Top
Moin SamTrex,

IF ERRORLEVEL 0 (echo %1 ist Online)
IF ERRORLEVEL 1 (echo %1 ist Offline)

nur das funktioniert nicht.

Jein...das funktioniert schon, nur:
a) Ein Errorlevel größer Null bedeutet Fehler
b) Errorlevel müssen absteigend geprüft werden - die höheren zuerst.
M$-Logik: wenn Errorlevel 2 gegeben ist, dann sind auch Errorlevel 1 und Errorlevel 0 TRUE.

::Beispiel:
IF ERRORLEVEL 1 (echo %1 ist Offline)
IF NOT ERRORLEVEL 1 (echo %1 ist Online)
...
~~~
So funktionierts. Oder so:
...
IF ERRORLEVEL 1 goto Fehlerbehandlung
::wer in der nächsten Zeile ankommt, hat KEIN "goto" gemacht ->kein Fehler
echo %1 ist Online
goto NormalWeiter

:Fehlerbehandlung
echo %1 ist Offline
exit /B 1

:Normalweiter
:: ..weitere Anweisungen

HTH Biber