2012-03-30 15 views
9

Sto eseguendo un'applicazione su macchina Linux. Fornendo l'indirizzo IP di una macchina Windows come input, l'applicazione deve arrestare la macchina Windows. Se le macchine eseguono lo stesso sistema operativo, è molto semplice, ma sono confuso su come farlo nel sistema operativo trasversale.Arresto macchina Windows dal terminale linux

risposta

15

Comando per sistema shutdown windows da linux -:

$ net rpc -S <ip address> -U <username>%<password> shutdown -t 1 -f

Questo comando può essere emesso dalla bash o anche situato in cron per l'arresto il computer in un momento specifico e questo comando viene fornito con molte distribuzioni per impostazione predefinita.

+3

E per un riavvio, aggiungi l'opzione '-r' alla fine. – mivk

+1

Molti hanno bisogno di configurare Windows e Linux correttamente per far funzionare questa soluzione. Guarda la risposta di nouknouk se il comando net non è disponibile o se non funziona – ndemou

0

Opzione 1: Installare il server SSH su Windows. Accedi a questo server da qualsiasi box e chiama il comando shutdown. Usiamo Interix (ambiente simile a Unix di Microsoft). Viene fornito con un telnet su server permette di richiamare i comandi di Windows da altre macchine ..

Un'altra opzione: Se samba installato su Windows è possibile connettersi a Windows e chiamare i comandi di Windows

net rpc SHUTDOWN ... 

(da http://www.linuxforums.org/forum/red-hat-fedora-linux/60324-remote-shutdown-windows-linux-box.html#post573872)

Un'altra opzione: prova rdesktop alla macchina Windows con comando shutdown (lo uso per l'esecuzione di Windows script batch che ha l'arresto in essa, non so se si può chiamare direttamente shutodwn)

1

Dipende dalla tua infrastruttura - come ti autentichi alle macchine Windows, se puoi configurarle tu stesso, ecc. Se fossi in me, metterei Cygwin sulle finestre di Windows, quindi su ssh ed eseguirò shutdown -h. Ci sono sicuramente altri modi per farlo, ovviamente.

1

è necessario un modo per lanciare un guscio sulla scatola di Windows in modo da poter eseguire ° shutdown comando integrato a Windows.

È possibile installare Cygwin per questo, quindi installare un demone SSH in Windows. Una volta che è in esecuzione, la tua Linux box può eseguire comandi sulla scatola di Windows come se fosse un'altra macchina Linux.

Here are some instructions for setting up Cygwin's sshd in Windows.

-1

Usa telnet comando nel Linux, assicurarsi telnet is enabled in Windows system

+0

ATTENZIONE: questo è quasi sempre UN CONSIGLIO SCONOSCIUTO. Un server telnet in esecuzione nel server è quasi sempre una cattiva idea (se sei stato sotto una roccia per gli ultimi 20 anni, tieni presente che il protocollo telnet invia nomi utente e password in chiaro nella tua rete). – ndemou

9

ci possono essere più di setup da fare, soprattutto per Windows Vista, Windows 7 e altre versioni di Windows, per consentire lo spegnimento remoto:

Parte A) sulla macchina Windows:

1) Aggiungi una politica di sicurezza arresto remoto:

  • corsa secpol.msc

  • nella struttura del programma, aperto Security Settings>Local Policies>User rights Assignment

  • Trovare la voce Force shutdown from a remote system

  • Modifica la voce, aggiungere l'account utente di Windows che verrà utilizzato per l'arresto (es: nouknouk)

2) Aggiungere chiavi di registro per disattivare UAC restrizioni remote:

  • Run regedit.exe come amministratore

  • Trova HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System

  • Creare un nuovo valore del Registro DWORD(32) denominato LocalAccountTokenFilterPolicy e quindi assegnare è il valore 1

3) avviare il servizio Registro di sistema remoto:

  • Ope n cmd.exe come amministratore

  • eseguire i due seguenti comandi:

    sc config RemoteRegistry start= auto

    sc start RemoteRegistry

Parte B) Sulla macchina Linux:

1) installare il pacchetto samba-common:

Dipende dalla distribuzione Linux, ma per Debian e derivata (Ubuntu, Linux Mint, ...), Il comando apt-get può essere eseguito così:

apt-get install samba-common

2) Per effettivamente l'arresto vostra macchina Windows da Linux uno, eseguire il seguente comando:

net rpc shutdown -f -t 0 -C 'message' -U userName%password -I xxx.yyy.zzz.ttt

Dove :

  • -f significa forza spegnere tutte le applicazioni (può essere obbligatoria)

  • -t 0 è il ritardo prima di farlo (0 significa "adesso").

  • -U user%password è l'utente locale e la sua password sulla macchina Windows (quella che è stata autorizzata a eseguire lo spegnimento remoto nella parte A).

  • -I è l'indirizzo IP del computer Windows da arrestare.

+1

Ciao, ho provato di tutto per farlo funzionare dal mio PC raspberrie pi 2 a Windows 8 ma non riesco ad ottenere l'errore "Connessione fallita: NT_STATUS_ACCESS_DENIED" . – tfonias74

Problemi correlati