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-ID: 151930

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

Ausgedruckt am: 26.11.2024 um 07:11 Uhr

bastla
bastla 28.09.2010, aktualisiert am 18.10.2012 um 18:43:37 Uhr
Goto Top
Hallo ProHoevi!

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

Grüße
bastla
Friemler
Friemler 28.09.2010 um 12:23:05 Uhr
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
bastla
bastla 28.09.2010 um 12:29:39 Uhr
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
Friemler
Friemler 28.09.2010 um 12:45:35 Uhr
Goto Top
Hallo bastla,

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

Gruß
Friemler
ProHoevi
ProHoevi 28.09.2010 um 15:02:58 Uhr
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 ?
ProHoevi
ProHoevi 30.09.2010 um 18:02:10 Uhr
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
BigWim
BigWim 01.10.2010 um 09:12:00 Uhr
Goto Top
Im Prinzip ja. Etwas so

sc \\<Server> query <Dienstname>

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


Markus
BigWim
BigWim 01.10.2010 um 09:13:16 Uhr
Goto Top
Zitat von @ProHoevi:
woran liegt das ?

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


Markus
ProHoevi
ProHoevi 01.10.2010 um 09:36:07 Uhr
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