Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

File batch per verificare stato PC tramite ping

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

File batch per verificare stato PC tramite ping

Postdi riccardo_2 » 10/02/07 08:46

So di essere nel posto giusto, nel senso che questo probabilmente è il "regno degli smanettoni" :lol: + forte in circolazione. Io purtroppo sono solo un povero "menestrello" :oops: che vi vuole sottoporre una, per voi, semplice richiesta.
Avrei bisogno di verificare lo "stato online" di una decina di PC al lavoro, è possibile creare un file bat, che magari ping un elenco di indirizzi IP??
Il massimo sarebbe poter ricavare un file di testo con le risposte ??
Usando per esempio, per generare il file un comando tipo
dir C:\win > C:\elenco.txt
Però la cosa importante sarebbe la questione dei Ping. Grazie :D
riccardo_2
Utente Senior
 
Post: 129
Iscritto il: 13/06/03 21:19

Sponsor
 

Postdi archimede » 10/02/07 09:35

San Google aiuta sempre.

1) Crea un file pingtest.bat:
Codice: Seleziona tutto
@echo off
cls
echo.
echo Controllo files...
if NOT EXIST computernames.txt echo COMPUTERNAMES.txt NON ESISTE && goto :eof
if EXIST pingstat.txt del pingstat.txt
if EXIST data.dat del data.dat
echo.
echo Computernames.txt Esiste, inizio verifica...
for /f "tokens=1 delims=:" %%a in ('findstr /N /R "." computernames.txt') do set count=%%a
echo.
echo Ci sono %count% computer(s) da controllare.
echo.
echo Inizio il Processo di Ping...
echo -----------------------------
echo.
for /f "tokens=*" %%a in (computernames.txt) do (
echo Pinging %%a
for /f "tokens=1" %%z in ('ping %%a -n 1 -w 500 ^| find /i /c "from"') do echo %%a %%z >> pingstat.txt)
echo.
echo Processo di Ping Completato...
echo.
echo Inizio Verifica Risultati...
echo ----------------------------
echo.
for /f "tokens=1,2 delims= " %%a in (pingstat.txt) do (
if "%%b" GEQ "1" (echo %%a is Online >> data.dat)
if "%%b"=="0" (echo %%a is Offline >> data.dat))
echo Verifica Completata...
echo.
echo Visualizzo Risultati...
echo -----------------------
type data.dat | more
del pingstat.txt
2) Crea un file computernames.txt contenente gli IP o i nomi dei computer che vuoi pingare. Esempio:
Codice: Seleziona tutto
192.168.1.1
pc1.miodominio.it
192.168.1.167
www.google.com
HTH.

Alessandro

PS: ho modificato il titolo in qualcosa di minimamente significativo. Sei caldamente invitato a usare titoli decenti in futuro, come da Netiquette. Grazie.
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi riccardo_2 » 10/02/07 12:45

:oops: scusa per la mancanza non mi veniva in mente un titolo + adeguato. Forse ero troppo impicicato con il mio problema. Appena posso lo provo e do' info a riguardo. Comunque grazie tantissimo
riccardo_2
Utente Senior
 
Post: 129
Iscritto il: 13/06/03 21:19

Postdi riccardo_2 » 10/02/07 18:23

ho provato il file ma non mi funziona, mi da sempre, come risposta, nel file "data.dat" che i PC sono offline, mentre se lancio "manualmente" il comando ping i PC sono online. Ho disattivato i fierwall.
riccardo_2
Utente Senior
 
Post: 129
Iscritto il: 13/06/03 21:19

Postdi riccardo_2 » 11/02/07 01:06

ho trovato una soluzione molto semplice e funzionale, ho solo un piccolo problema
c:\Windows\system32\ping 127.0.0.1
c:\Windows\system32\ping http://www.google.it
c:\Windows\system32\ping xx.xxx.xx.xxx
c:\Windows\system32\ping xy.xyz.xx.xyz
> c:\monit\ping.txt
li pinga tutti ma nel report scrive solo il risultato dell'ultimo c'è una maniera per fargli fare un unico file di testo con tutte le risposte ?? Altrimenti devo fare un file di testo x ogni "puntamento", che alle brutte potrebbe anche andare ma è un pò troppo "ingombrante"
riccardo_2
Utente Senior
 
Post: 129
Iscritto il: 13/06/03 21:19

Postdi numberinn » 11/02/07 04:26

Qui trovi una piccola reference per quanto rigurarda i "redirettori".
In sostanza, per evitare di creare più file, dovrai usare il comando ">>" (append) invece di ">" (print to).
NB: usando ">>" viene già inserito un singolo ritorno a capo.
;)
Knowledge.... THAT IS POWER!!!
Avatar utente
numberinn
Download Admin
 
Post: 435
Iscritto il: 04/03/03 15:28
Località: 127.0.0.1 (aka BS)

Postdi numberinn » 11/02/07 04:30

ovviamente ad ogni ping dovrai usare il ">>" per aggiungere il nuovo output al file (tranne che nel primo, in cui dovrai utilizzare ">" per creare o cancellare il file)
Knowledge.... THAT IS POWER!!!
Avatar utente
numberinn
Download Admin
 
Post: 435
Iscritto il: 04/03/03 15:28
Località: 127.0.0.1 (aka BS)

Postdi riccardo_2 » 11/02/07 10:21

Grazie mille "numberinn", con questo avrei risolto. Voglio solo "approfittare di TE" per un ultima cosa. é possibile capire attraverso il ping se un servizio è online?? tipo se voglio sapere se sul server un determinato servizio è online posso farlo attraverso il ping?? O è meglio usare un altro comando?? ciao e grazie ancora :D
riccardo_2
Utente Senior
 
Post: 129
Iscritto il: 13/06/03 21:19

Postdi BianConiglio » 11/02/07 18:51

telnet
BianConiglio
Utente Senior
 
Post: 4710
Iscritto il: 26/12/01 01:00
Località: Varese / Lugano

Postdi numberinn » 11/02/07 18:55

Se ho ben capito, vorresti sapere se usando il comando "ping" è possibile controllare se su di una macchina è presente, ad esempio, un servizio di file server etc etc?
Se ti riferisci a questo, ti dico subito che non è possibile poichè i protocolli ICMP servono solo ed esclusivamente a verificare la corretta funzionalità della rete (e spesso la risposta al ping viene disattivata per ragioni di sicurezza).
Knowledge.... THAT IS POWER!!!
Avatar utente
numberinn
Download Admin
 
Post: 435
Iscritto il: 04/03/03 15:28
Località: 127.0.0.1 (aka BS)

Postdi riccardo_2 » 11/02/07 18:56

Ti ringrazio ma è un po stringata come indicazione :roll: ..... Cm faccio a gestire telnet su diversi server con un file batch????
riccardo_2
Utente Senior
 
Post: 129
Iscritto il: 13/06/03 21:19

Postdi riccardo_2 » 11/02/07 19:06

x numberinn
la mia esigenza è su dei Pc del mio lavoro, dove i ping non sono disattivati, quello che pensavo era tipo fare un ping su una porta, se si può fare che è quella del servizio. Ossia se faccio un ping tipo:
xx.xxx.xx.xxx : 4100
e mi risponde posso pensare ch la porta 4100 usata da quel servizio è attiva e quindi acneh il servizio è online. Che mi dici, ha senso???? Grazie
riccardo_2
Utente Senior
 
Post: 129
Iscritto il: 13/06/03 21:19

Postdi zello » 12/02/07 00:31

Come ti ha detto numberinn, il ping "classico" usa l'icmp, che è un protocollo che neppure prevede l'utilizzo delle porte.
Io userei nmap (http://www.insecure.org) [tra l'altro, dato che gestisce una lista di host da scannare, non ci sarebbe neppure bisogno di un .bat], ma sotto windows mi ha sempre dato un sacco di problemi.
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
Avatar utente
zello
Moderatore
 
Post: 2351
Iscritto il: 06/05/02 13:44

Postdi archimede » 12/02/07 09:27

riccardo_2 ha scritto:ho provato il file ma non mi funziona, mi da sempre, come risposta, nel file "data.dat" che i PC sono offline, mentre se lancio "manualmente" il comando ping i PC sono online. Ho disattivato i fierwall.
Strano, a me (su WindowsXP) funziona. Tu che sistema operativo usi?

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova


Torna a Programmazione


Topic correlati a "File batch per verificare stato PC tramite ping":


Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti