Switchabfrage per batch
Hy,
ich bin neu hier und hab auch gleich mal eine Frage.
Ich möchte mit einer Batch-Datei den Switch per Ping abfragen und er soll mir dann eine Ausgabe machen ob er on ist oder nicht. Genauso sollte er eine Ausgabe bei zeitüberschreitung haben.
Hat einer eine gute Idee?
Gruß
Thomas
ich bin neu hier und hab auch gleich mal eine Frage.
Ich möchte mit einer Batch-Datei den Switch per Ping abfragen und er soll mir dann eine Ausgabe machen ob er on ist oder nicht. Genauso sollte er eine Ausgabe bei zeitüberschreitung haben.
Hat einer eine gute Idee?
Gruß
Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 18930
Url: https://administrator.de/forum/switchabfrage-per-batch-18930.html
Ausgedruckt am: 23.12.2024 um 10:12 Uhr
16 Kommentare
Neuester Kommentar
Hier ist schon mal ein ähnliches Thema behandelt worden:
Fragen rund um Bat-Befehle
Fragen rund um Bat-Befehle
Wenn Du die Möglichkeit hast, *.vbs-Dateien auszuführen, dann würde ich die immer vorziehen...
Moin, Rostocker Eismann,
kannst natürlich auch *.vbs nehmen... *lacht* ...aber um den Batch zum Fliegen zu bekommen:
Tja..setzen tust du in der Zeile vor der Prüfung auch die Variable %IPTest%
Hier läufst Du auf einen Syntaxfehler, weil der CMD-Interpreter die Zeile mit der nicht definierten Variablen %Switchtest% auflöst zu:
If not ==Zielnetz goto yes
... und TILT... würde ich auch machen.
Deshalb diese Vergleiche immer in Klammern:
If not "%Switchtest%"=="Zielnetz" goto yes ...oder
If not [%Switchtest%]==[Zielnetz] goto yes ...oder
If not @@@%Switchtest%@@@==@@@Zielnetz@@@goto yes
... dann kommt der Syntaxfehler nicht.
(Mehr hab ich nicht überprüft im obigen Batch)
HTH Biber
kannst natürlich auch *.vbs nehmen... *lacht* ...aber um den Batch zum Fliegen zu bekommen:
If not %Switchtest%==Zielnetz goto yes
Hier läufst Du auf einen Syntaxfehler, weil der CMD-Interpreter die Zeile mit der nicht definierten Variablen %Switchtest% auflöst zu:
If not ==Zielnetz goto yes
... und TILT... würde ich auch machen.
Deshalb diese Vergleiche immer in Klammern:
If not "%Switchtest%"=="Zielnetz" goto yes ...oder
If not [%Switchtest%]==[Zielnetz] goto yes ...oder
If not @@@%Switchtest%@@@==@@@Zielnetz@@@goto yes
... dann kommt der Syntaxfehler nicht.
(Mehr hab ich nicht überprüft im obigen Batch)
HTH Biber
Na ja, dann ist der Messenger-Dienst nicht (mehr) aktiv (XP SP2?? *gg)
Testen: (vom CMD-Prompt
SERVICE_NAME: messenger
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 4 RUNNING
(STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
...if so--->OK
...otherwise
net start messenger
...alles natürlich nur, wenn Du die Rechte dazu hast.
Grüße
Biber
Testen: (vom CMD-Prompt
sc query messenger
SERVICE_NAME: messenger
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 4 RUNNING
(STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
...if so--->OK
...otherwise
net start messenger
...alles natürlich nur, wenn Du die Rechte dazu hast.
Grüße
Biber
Mach Dir aber nicht zuviel Aufwand.
Wenn Du nicht grade eine Ping.exe-Version aus den ersten Win2000er-Tagen im Einsatz hast (die hatte nämlich an der Stelle einen Bug), dann kannst Du einfach den Fehlerwert von Ping auswerten.
Errorlevel 0 = alles prima, angepingter Rechner antwortet, ist also ONline.
Errorlevel 1 (oder höher) - keine Antwort, Rechner OFFline
Die ganzen Details interessieren Dich ja gar nicht (IP-Addresse oder wie schnell der ist etc)
Somit bleibt:
Ping sw6444 >nul
IF ERRORLEVEL 1 goto no
goto yes
...
Grüße Biber
~~~~
P.S. Was ist denn bei Dir die Ausgabe/der Output von Ping.exe?
Bei mir kommt da nichts Sinnvolles raus:
ECHO ist eingeschaltet (ON).
ECHO ist eingeschaltet (ON).
1,
Millisek.:
Maximum
Wenn Du nicht grade eine Ping.exe-Version aus den ersten Win2000er-Tagen im Einsatz hast (die hatte nämlich an der Stelle einen Bug), dann kannst Du einfach den Fehlerwert von Ping auswerten.
Errorlevel 0 = alles prima, angepingter Rechner antwortet, ist also ONline.
Errorlevel 1 (oder höher) - keine Antwort, Rechner OFFline
Die ganzen Details interessieren Dich ja gar nicht (IP-Addresse oder wie schnell der ist etc)
Somit bleibt:
Ping sw6444 >nul
IF ERRORLEVEL 1 goto no
goto yes
...
Grüße Biber
~~~~
P.S. Was ist denn bei Dir die Ausgabe/der Output von Ping.exe?
Bei mir kommt da nichts Sinnvolles raus:
for /F "skip=3 tokens=1,2,3,4" %a in ('ping -n 1 localhost') do @echo %d
Bytes=32ECHO ist eingeschaltet (ON).
ECHO ist eingeschaltet (ON).
1,
Millisek.:
Maximum
@Biber
Super, das ist genau das was ich suche . Wußte gar nicht das es geht... Achso, es scheint mit Windows 2000 SP4 ohne Probleme zu klappen. Werde das nun mal etwas genauer testen...
Super, das ist genau das was ich suche . Wußte gar nicht das es geht... Achso, es scheint mit Windows 2000 SP4 ohne Probleme zu klappen. Werde das nun mal etwas genauer testen...
Hi,
es war auch nicht auf dein Problem bezogen sondern auf "enn Du nicht grade eine Ping.exe-Version aus den ersten Win2000er-Tagen im Einsatz hast".
Ich habe es auch etwas umgebaut. Ich starte es aber jede Stunde automatisch auf einem Server. Wenn der angepinkte Server keinen Mux mehr von sich gibt dann schickt das System mir eine SMS
es war auch nicht auf dein Problem bezogen sondern auf "enn Du nicht grade eine Ping.exe-Version aus den ersten Win2000er-Tagen im Einsatz hast".
Ich habe es auch etwas umgebaut. Ich starte es aber jede Stunde automatisch auf einem Server. Wenn der angepinkte Server keinen Mux mehr von sich gibt dann schickt das System mir eine SMS
@bastian_w & IcemanHRO
Wenn wir den Batchschnipseln noch klingende Namen geben und mit "Bat2Exe" oder einem ähnlichem Utility "kompilieren", können wir die für ? 9.99 auf den Tools & Utilities-Markt schmeißen.
Mein Tipp für einen marketing-fähigen Namen wäre ja "ServersAlive" gewesen, aber das gibt es schon. Wenn ihr also eingängige Utility-Namen findet... ein paar Zeilen Batch kann ich immer beisteuern...
Grüße
Biber
Wenn wir den Batchschnipseln noch klingende Namen geben und mit "Bat2Exe" oder einem ähnlichem Utility "kompilieren", können wir die für ? 9.99 auf den Tools & Utilities-Markt schmeißen.
Mein Tipp für einen marketing-fähigen Namen wäre ja "ServersAlive" gewesen, aber das gibt es schon. Wenn ihr also eingängige Utility-Namen findet... ein paar Zeilen Batch kann ich immer beisteuern...
Grüße
Biber