prohoevi
Goto Top

Eine Serverüberprüfung per Batchdatei erstellen

Hey Leute face-smile
Der Sinn der Datei soll sein, darstellen zu können welche Server Online sind und welche offline.

Also ich stelle mir das so vor das die Batch-Datei IP-Adressen aus einer Text-Datei rauskopiert und diese anpingt.

dann soll die Batch, sofern der ping erlogreich ist in eine neue Textdatei schreiben z.B.: xxx.xxx.xxx.xxx online
wenn dier ping nihc erfolgreich ist soll sie reinschreiben xxx.xxx.xxx.xxx offline

funktioniert das so wie ich mir das vorstelle ?

das heißt das die batch sachen aus einer textdatei rauskopiert und dann eine neue erstellt, wo man dann halt je nachdem online oder offline sieht?


Lg Jan

Content-Key: 151930

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

Printed on: April 24, 2024 at 05:04 o'clock

Member: bastla
bastla Sep 28, 2010, updated at Oct 18, 2012 at 16:43:37 (UTC)
Goto Top
Hallo ProHoevi!

Schau mal, ob Dir der Beitrag "Daten einer Pingabfrage per Script in eine Logdatei speichern" hilft ...

Grüße
bastla
Member: Friemler
Friemler Sep 28, 2010 at 10:23:05 (UTC)
Goto Top
Hallo Jan,

der folgende Code sollte für Dich eine Lösung sein:
@echo off

setlocal

set "IP_DB=IP_DB.txt"  
set "Output=IP_Stat.txt"  

del "%Output%" 2>NUL  

for /f "usebackq delims=" %%a in ("%IP_DB%") do (  
  (ping -n 1 %%a > NUL && echo %%a online || echo %%a offline)>>"%Output%"  
)

endlocal


Gruß
Friemler
Member: bastla
bastla Sep 28, 2010 at 10:29:39 (UTC)
Goto Top
@Friemler
Nur als Anmerkung: Wenn schon eine Errorlevel-Abfrage - und nicht einfach
(ping -n 1 %%a > NUL && echo %%a online || echo %%a offline)>>"%Output%"
- würde ich zumindest die "delayedExpansion" einsparen und zB
 if errorlevel 1 (
    >>"%Output%" echo %%a offline  
  ) else (
    >>"%Output%" echo %%a online  
  )
verwenden ...

Grüße
bastla
Member: Friemler
Friemler Sep 28, 2010 at 10:45:35 (UTC)
Goto Top
Hallo bastla,

hast ja Recht, in der Kürze liegt die Würze face-wink. Habe es oben geändert.

Gruß
Friemler
Member: ProHoevi
ProHoevi Sep 28, 2010 at 13:02:58 (UTC)
Goto Top
Jaau face-smile das hat mich schonmal sehr weiter gebracht face-smile

habe es an ein paar anderen Rechnern getestet.

und bis eben hat auch alles geklappt nur jetzt sagt der mir auf einmal egal ob der Rechner an oder aus ist. immer das er online ist face-sad
woran liegt das ?
Member: ProHoevi
ProHoevi Sep 30, 2010 at 16:02:10 (UTC)
Goto Top
Geht das auch das man das nicht pingt sondern prüft ob ein dienst online ist?

weil es kann ja sein das der server da ist aber der dienst nicht ausgeführt wird.


zum beispiel den remotedekstop dienst?


LG
Member: BigWim
BigWim Oct 01, 2010 at 07:12:00 (UTC)
Goto Top
Im Prinzip ja. Etwas so

sc \\<Server> query <Dienstname>

Aber schau Dir mal die Möglichkeiten von sc mit sc /?


Markus
Member: BigWim
BigWim Oct 01, 2010 at 07:13:16 (UTC)
Goto Top
Zitat von @ProHoevi:
woran liegt das ?

Poste mal den verwendeten Code und das Ergebnis des manuellen Ping <Server>


Markus
Member: ProHoevi
ProHoevi Oct 01, 2010 at 07:36:07 (UTC)
Goto Top
naja im mom gehts mir eher darum das ich eine batch hinbekomme / bekomme ^^ die einen dienst prüft :P ansonstens genauso wie vorher mit dem ping face-smile nur halt mit dem dienst face-smile

Aber hier der quellcode


@echo off

setlocal

set "IP_DB=IP_List.txt"
set "Output=D:\IP_Stat.txt"

del "%Output%" 2>NUL

for /f "usebackq delims=" %%a in ("%IP_DB%") do (
)

endlocal