Newsgroup: it.comp.lang.visual-basic
Titolo: Spegnimento PC

Salve,
vorrei poter spegnere il mio pc da remoto, cioč da un pc connesso in lan al
mio. Posso usare un file di batch con un comando preciso e condividerlo
sulla LAN?
Grazie.


No perchč il comando verrebbe eseguito sul TUO pc e non su quello remoto! ;)
Devi fare un'applicazione in attesa su una porta che poi (magari dopo
un'autenticazione) esegua il shutdown.


Questa api spegne un Win2000 o WinNT in remoto. Dalle prove che ho fatto
perň mi da' solo l'arresta il sistema e il computer occorre spegnerlo a
manina (E' ora possibile spegnere il computer). Vedi se puň andarti bene.
(Tra l'altro č comodo per fare uno scherzo in ufficio!)
Ciao,
Gabriele
Private Declare Function InitiateSystemShutdown Lib "advapi32.dll" Alias
"InitiateSystemShutdownA" (ByVal lpMachineName As String, ByVal lpMessage As
String, ByVal dwTimeout As Long, ByVal bForceAppsClosed As Long, ByVal
bRebootAfterShutdown As Long) As Long
 
Private Sub Command1_Click()
    If (MsgBox("Are you sure you want to initiate a forced, timed shutdown?",
vbYesNo Or vbQuestion) = vbYes) Then
    NTForceTimedShutdown CLng(Text1.Text), "You're gonna get shutdown in " &
txtTime & " s..."
    'Text1.Text = Computer da spegnere
    'txttime =Pausa prima di spegnersi
End If
End Sub
Private Sub Form_Load()
txtTime.Text = 60
End Sub
--------------------------------
Inviato via 
http://usenet.libero.it

OPS, scusa, avevo modificato il codice
La chiamata all'API è
Private Sub Command1_Click()
    If (MsgBox("Are you sure you want to initiate a forced, timed shutdown?",
vbYesNo Or vbQuestion) = vbYes) Then
    InitiateSystemShutdown txtMachineName, txtMessage, txtTime, True, False
    'Text1.Text = Computer da spegnere
    'txttime =Pausa prima di spegnersi
End If
End Sub
--------------------------------
Inviato via 
http://usenet.libero.it

 ha
scritto nel messaggio news:ams29u$1ha2$1...@half.spin.it...

No no la sto cercando ma la API esiste,
sono riuscito a spegnere il server NT
dell'ufficio con un semplice programmino.
                            danilo

 dell'ufficio con un semplice programmino.
imho lui non ha specificato un OS... e ha parlato di file batch e non di
api!
 imhho la cosa delle api penso si possa disabilitare altrimenti sai che
ridere quando una macchina è collegata in internet! O;-)

 ha scritto

http://www.google.it/search?sourceid=navclient&hl=it&q=%22visual+basic
%22+%22remote+shutdown%22


Sono riuscito a spegnere il server!!!
con NT Server installato, ma non
un client con windows 2000
                            danilo
Se qualcuno sa come si blocca può dirlo!!
InitiateSystemShutdown nUser, nMessage, nTimeAllow, False,
False

 un client con windows 2000
Qui io ho provato solo con W2KPRO e non sono riuscito a spegnerlo. Con il
server non provo onde evitare la fucilazione! ;-)

Con il server non provo onde evitare la fucilazione! ;-)
Sono solo e il server  fa solo da file system e da backup
quindi non mi ha fucilato nessuno.
La domanda adesso è:
se faccio un eseguibile che appena lanciato mi
fa lo shutdown di un dato computer e
lo lascio sul desktop di un computer accessibile
a molte persone prima o poi verrà a qualcuno
la voglia di provare a lanciarlo?
E questo mi spegnerà il server dell'università?
        Mah chissà!!
                            danilo

 InitiateSystemShutdown nUser, nMessage, nTimeAllow, False, False
funziona anche verso un 2k pro (almeno, da un altro 2k pro).
con 0 per ntimeallow non si e' visto il messaggio "da remoto"
bloccarlo la vedo dura. sul desktop qui di fianco sono semplicemente
sparite le icone e in 5" si e' spento.
mi auguro che ci vogliano almeno un po' di privilegi admin.
nb: le due macchine erano attive con lo stesso login.
ciao, j.
Option Explicit
Private Declare Function InitiateSystemShutdown Lib "advapi32.dll"
Alias "InitiateSystemShutdownA" (ByVal lpMachineName As String, ByVal
lpMessage As String, ByVal dwTimeout As Long, ByVal bForceAppsClosed
As Long, ByVal bRebootAfterShutdown As Long) As Long
Private Sub Command1_Click()
    InitiateSystemShutdown "\\pc_remoto", "da remoto", 0, False, False
End Sub
funzione documentata su allapi, api-list.

Grazie a tutti...
il mio caso è una LAN di 2 pc con W2k pro.
Ho bucato il muro che separa casa mia da casa del mio cugino e con la Lan
sfruttiamo l'adsl che hanno appena allacciato pagandone metà peruno :-)
Il problema era come accendere e spegnere il mio pc
Accensione: uso il Wake on lan in un batch con il comando:
wol.exe <MAC ADRESS della scheda di rete>
Spegnimento: userò il vostro programmino.
Grazie ancora.

 Spegnimento: userò il vostro programmino.
Non ho capito: Hai bucato il muro e poi hai murato la porta?
Ora dormi con tuo cugino e la tua casa è tutta per il PC e l'ADSL a mezzo?

 ha scritto

ha bucato il muro, ha murato la porta, dorme con suo cugino, ma
soprattutto usa il pc di suo cugino, dal quale deve accendere/spegnere
il suo personale.
croupier: se vuoi anche gestirtelo da remoto:
http://www.tightvnc.com/
pero' usa risoluzioni basse. gestire un 1280-1024 da un 800-600 non e'
il massimo...

 ha scritto nel messaggio
news:PRok9.11564$e31.2...@twister2.libero.it...

no.. credo che il problema sia: io non sono a casa, mio cugino si e vuole
collegarsi
a internet. come fare?
ottima soluzione
ciao
Enrico

 ha scritto nel messaggio ...

Per completezza segnalo che su WinXP c'e' "shutdown" non so se c'e' anche su Win2K.
Sintassi:
 shutdown [-l|-s|-r|-a] [-f] [-m \\nomecomputer] [-t xx] [-c "commento"] [-d up:xx:yy]
 Nessun argomento   Visualizza questo messaggio (come -?)
 -i                 Visualizza l'interfaccia GUI, deve essere la prima opzione
 -l                 Disconnette l'utente (non puň essere utilizzato con l'opzione -m)
 -s                 Arresto del sistema
 -r                 Arresta e riavvia il sistema
 -a                 Interrompe l'arresto del sistema
 -m \\nomecomputer  Computer remoto per arresto/riavvio/interruzione
 -t xx              Imposta timeout per chiusura a xx secondi
 -c "commento"      Commento per l'arresto (massimo 127 caratteri)
 -f                 Forza la chiusura delle applicazioni in esecuzione senza preavviso
 -d [u][p]:xx:yy    Il codice motivo per l'arresto
                    u č il codice utente
                    p č il codice di un arresto pianificato
                    xx č il codice motivo maggiore (numero intero positivo inferiore a 256)
                    yy č il codice motivo minore (numero intero positivo inferiore a 65536)
CIAnO

 Per completezza segnalo che su WinXP c'e' "shutdown" non so se c'e'
anche su Win2K.
C:\WINNT>shutdown /?
"shutdown" non č riconosciuto come comando
 un programma eseguibile o un file batch.
j.2k :)

 ottima soluzione
Router ADSL? o Linux box? :)

 Router ADSL? o Linux box? :)
soluzione tipicamente da sistemista :P
ammetti pero' che un foro nel muro e una connessione condivisa costano
meno e hanno bisogno di meno manutenzione sw. solo, non so se i
service pack li rilascia anche black & decker :)

 meno e hanno bisogno di meno manutenzione sw. solo, non so se i
No costano di più (a prescidenre dal foro nel muro)! Il consumo di un PC
sempre accesso per condividere la connessione è di gran lunga maggiore di
quello di un modem/routerADSL Zyxel! In poiù la condivisione della
connessione di windows non è minimamente paragaonabile a una nat seria! ;)
Ciao

 connessione di windows non è minimamente paragaonabile a una nat
seria! ;)
tieni presente che stiamo parlando di configurazioni home. io con w2k
mi ci trovo bene. gia' wingate (che mi sono dovuto comprare per
l'ufficio che non ha carta di credito, no comment...) sarebbe da
configurare servizio per servizio, e la sera io in questi giorni
stento a distinguere java da mia moglie. (java mangia di piu'). w2k
invece ha doppi e tripli servizi di default. che sia un vero accesso ?
:P

Grande Machi....
infatti č cosě...
se io non ci sono...
mio cugino accende il mio pc
naviga
spegne il mio pc.
P.S.
Il foro nel muro č di 6 mm per far passare il cavo Ethernet :-)
Grazie a tutti.


bè se a qualcuno dovesse servire su WinXP c'è :)
CIAnO

 wrote in message
news:amuld6$k91$1...@half.spin.it...
