Copia il seguente codice in un file di testo assegnagli il nome "spegni.bat" e salvalo in "C:\"
codice:
@echo off
echo Rilevazione host in rete...
ping -n 1 192.168.254.2 > NUL:
if %ErrorLevel% == 0 GOTO :EOF
ping -n 1 192.168.254.1 > NUL:
if %ErrorLevel% == 0 GOTO :EOF
ping -n 1 192.168.254.4 > NUL:
if %ErrorLevel% == 0 GOTO :EOF
ping -n 1 192.168.254.5 > NUL:
if %ErrorLevel% == 0 GOTO :EOF
shutdown -s -t 60 -c "Tra un minuto il server verrà spento"
nel codice ci deve essere un blocco del tipo:
codice:
ping -n 1 10.0.0.1 > NUL:
if %ErrorLevel% == 0 GOTO :EOF
per ogni macchina della rete. Su ogni riga ovviamente devi indicare l'ip della macchina
Ora devi schedurale il file comandi perchè venga eseguito ogni 15 minuti.
Apri il prompt dei comandi e digita:
schtasks /Create /tn shutping /sc minute /mo 15 /tr "c:\spegni.bat"
ti verrà chiesta la password dell'utente col quale sei loggato.
A questo punto puoi chiudere la finestra del prompt.
Ogni 15 minuti si aprirà una finestra con la scritta "Rilevazione host in rete...", durante questa fase verrà fatto il ping verso tutte le macchine elencate. Se nessuna risponde verrà avviata la procedura di shutdown con un countdown di un minuto. Durante questo minuto di tempo si puo' interrompere lo spegnimento dal prompt attraverso il comando "shutdown -a".
Terminato il minuto il sistema si spegne.
Il file comandi rimane schedulato anche se l'utente del server non è loggato.
Il file comandi rimane schedulato anche al succesivo riavvio e non c'è bisogno di ridigitare il comando schtasks. A questo proposito bisogna fare attenzione che alla mattina se entro i primi 15 minuti dall'avvio del server non si è provveduto ad accendere almeno un'altra macchina questo si spegnerà.
Per deschedulare il file comandi digitare:
schtasks /delete /tn shutping
In ogni caso la dicussione è off topic