61 messaggi dal 25 settembre 2006
Ciao a tutti, sto cercando di preparare un minitool che mi permetta di fare lo screening delle macchine in rete (ne esistono già tanti lo so, ma così posso gestirmi un mio database specifico e integrare in seguito funzioni ad hoc ).

Cmq in questa avventura per ora sono riuscito a fare accendere un pc, ora vorrei:

- riuscire a spegnerlo
- verificare che sia acceso

per lo spegnimento ho provato una procedura proposta in rete che teoricamente dovrebbe funzionare. Usa il comando shutdown.exe verso un pc remoto

// crea il processo
            Process shutP = new Process();
            // imposta lo startup
            // argomenti e riferimento al client
            shutP.StartInfo.Arguments = "-s -f -t 00 -m \\" + client;
            
            // no finestra separata
            shutP.StartInfo.CreateNoWindow = false;
            //shutP.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            
            // applicazione
            shutP.StartInfo.FileName = "c:\\windows\\system32\\shutdown.exe";
            
            // avvia il processo
            shutP.Start();

            // attende 10 secondi e verifica che il processo sia uscito altrimenti lo spegne
            shutP.WaitForExit(10000);
            if (!shutP.HasExited)
                shutP.Kill();
            shutP.Close();


Sebbene il comando provato da console funzioni e spenga il pc selezionato, la procedura riportata non funziona runtime, ne con il nomehost ne con indirizzo IP.
Ho anche provato a lanciare un altro eseguibile, come il paint .net e va alla grande.
Debuggando il processo noto che ritorna un ExitCode 53, so che significa The network path was not found ma nn so come risolvere.

Grazie
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Ho letto velocemente il tuo post quindi non vorrei sbagliarmi ma mi sembra un banale errore diformattazione della stringa:

shutP.StartInfo.Arguments = "-s -f -t 00 -m \\" + client; 


dovrebbe essere:

shutP.StartInfo.Arguments = "-s -f -t 00 -m \\\\" + client; 


Ciao.

.:. Marcello Rutter .:.
61 messaggi dal 25 settembre 2006
hai ragione, l'errore era proprio quello. grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.