Domanda

Sto usando Connessione desktop remoto per entrare in una workstation. Ma in questo ambiente, non posso usare le opzioni di risparmio energia nel menu Start. Ho bisogno di un modo alternativo per arrestare o riavviare.

Come posso controllare lo stato di alimentazione del mio computer tramite la riga di comando?

È stato utile?

Soluzione

I modi più comuni per utilizzare il shutdown sono:

  • shutdown -s & # 8212; Si spegne.
  • shutdown -r & # 8212; Restarts.
  • shutdown -l & # 8212; Si disconnette.
  • shutdown -h & # 8212; Hibernates.

    Nota: c'è una trappola comune in cui gli utenti pensano che -h significhi " help " (cosa che fa per ogni altro programma da riga di comando ... tranne shutdown.exe, dove significa " ibernazione "). Quindi eseguono shutdown -i e spengono accidentalmente i loro computer. Attenzione per questo.

  • shutdown -a & # 8212; " Modalità interattiva " ;. Invece di eseguire un'azione, visualizza una finestra di dialogo della GUI.

  • -f & # 8212; Annulla un precedente comando di spegnimento.

I comandi sopra possono essere combinati con queste opzioni aggiuntive:

  • -t <seconds> & # 8212; Forza la chiusura dei programmi. Impedisce il blocco del processo di arresto.
  • -t 0 & # 8212; Imposta il tempo fino allo spegnimento. Utilizzare -c <message> per chiudere immediatamente.
  • -y & # 8212; Aggiunge un messaggio di spegnimento. Il messaggio finirà nel registro eventi.
  • rundll32 & # 8212; Forza un & Quot; sì & Quot; rispondere a tutte le richieste di spegnimento.

    Nota: questa opzione non è documentata in alcuna documentazione ufficiale. È stato scoperto da questi utenti StackOverflow .


Voglio assicurarmi che vengano menzionate anche altre risposte davvero valide insieme a questa. Qui non sono in un ordine particolare.

Altri suggerimenti

Se sei su un computer remoto, potresti anche voler aggiungere l'opzione -f per forzare il riavvio. Altrimenti la sessione potrebbe chiudersi e un'app testarda può bloccare il sistema.

Lo uso ogni volta che voglio forzare un riavvio immediato:

shutdown -t 0 -r -f

Per un " più amichevole, dai loro un po 'di tempo " opzione, puoi usare questo:

shutdown -t 30 -r

Come puoi vedere nei commenti, il -f è implicito dal timeout.

Brutus 2006 è un'utilità che fornisce una GUI per queste opzioni.

Nessuno ha menzionato l'opzione -m per l'arresto remoto:

shutdown -r -f -m \\machinename

Inoltre:

  • Il parametro -r provoca un riavvio (che di solito è quello che si desidera su un computer remoto, poiché l'avvio fisico potrebbe essere difficile).
  • L'opzione -f parametro forza il riavvio.
  • È necessario disporre dei privilegi appropriati per spegnere la macchina remota, ovviamente.

Risposta originale: ottobre 2008

Hai anche ottenuto tutte le "rundll32.exe shell32.dll " serie:

(vedi aggiornamento sotto)

  • rundll32.exe user.exe,**ExitWindows** [Arresto rapido di Windows]
  • rundll32.exe user.exe,**ExitWindowsExec** [Riavvia Windows]

    rundll32.exe shell32.dll,SHExitWindowsEx n
    

dove n sta per:

  • 0 - LOGOFF
  • 1 - SHUTDOWN
  • 2 - REBOOT
  • 4 - FORCE
  • 8 - POWEROFF

(può essere combinato - > 6 = 2 + 4 FORCE REBOOT)


Aggiornamento aprile 2015 (più di 6 anni dopo):

1800 INFORMATION sottolinea gentilmente nei commenti :

  

Non utilizzare rundll32.exe per questo scopo. Si aspetta che la funzione che hai passato sulla riga di comando abbia una firma del metodo molto specifica - non corrisponde alla firma del metodo di ExitWindows.

Raymond CHEN ha scritto:

  

La firma della funzione richiesta per le funzioni chiamate da rundll32 è:

void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
       LPSTR pszCmdLine, int nCmdShow);
  

Ciò non ha impedito alle persone di utilizzare user32 LockWorkStation per chiamare funzioni casuali che non erano progettate per essere chiamate da user32 ExitWindowsEx, come Rundll32 o <=>.

(oops)

  

La firma della funzione effettiva per ExitWindowsEx è:

BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);

E per renderlo cristallino:

  

<=> è un residuo di Windows 95 ed è stato deprecato almeno da Windows Vista perché viola molte linee guida di progettazione moderne.

Un altro piccolo suggerimento: quando seguo il percorso del file batch, mi piace essere in grado di interromperlo nel caso lo avessi eseguito accidentalmente. Quindi il file batch richiama l'arresto ma ti lascia al prompt dei comandi in seguito.

@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r

Inoltre, dato che è su un timer, ottieni quasi lo stesso brivido di quando caccia in The Oregon Trail .

Quando viene remotato in una macchina (il target è Windows & nbsp; XP comunque; Non sono sicuro del target Windows & nbsp; Vista), sebbene Shutdown nel menu di avvio sia sostituito da Disconnect Session o qualcosa del genere, dovrebbe essercene uno chiamato "Sicurezza di Windows" che fa anche la stessa cosa di Ctrl + Alt + < kbd> Fine come indicato da Owen.

Probabilmente ne sei a conoscenza, ma per ogni evenienza: è molto più semplice digitare shutdown -r (o qualunque comando ti piaccia) nella " Esegui " box e premi invio.

Salva lasciando file batch in giro ovunque.

Sono in ritardo alla festa, ma non ho ancora visto questa risposta. Quando non si desidera utilizzare un file batch o digitare il comando. Puoi semplicemente impostare lo stato attivo sul desktop e quindi utilizzare Alt + F4 .

Windows ti chiederà cosa vuoi fare, selezionare lo spegnimento o il riavvio.

Per schermate e persino un video, vedere: https: / /tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp

Lo scriverei in Blocco note o WordPad per un comando di disconnessione di base:

@echo off
shutdown -l

Ciò equivale sostanzialmente a fare clic su Avvia e Disconnetti manualmente, ma è leggermente più veloce se il file batch è pronto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top