Come disabilitare la modalità sleep tramite CMD?


10

Con solo il prompt dei comandi, è possibile disabilitare la modalità sospensione quando si chiude il coperchio di un laptop?


1
Per curiosità, questa è solo una domanda puramente teorica o c'è qualche motivo specifico per cui è necessario farlo? Chiedo perché potrebbero esserci altri modi per realizzarlo, se è così.
Shinrai,

Bene, devo farlo da remoto e ho solo il prompt dei comandi che accede al laptop.
kb67,

1
Potrebbe non essere più semplice accompagnare l'utente del laptop a farlo? Penso che il commento di iglvzx sia giusto e non c'è modo di cambiare facilmente l'azione del coperchio senza le modifiche manuali al registro.
Shinrai,

Bene, mi è stato smentito, esiste un modo per farlo tramite PowercFG, ma penso che sia abbastanza coinvolto da rendere ancora più semplice il solo parlare.
Shinrai,

Risposte:


13

Il comando che stai cercando è powercfg. Apri un prompt dei comandi e digitapowercfg –q >poweroptions.txt

Questo creerà un file di testo (poweroptions.txt) con tutti i GUID per le impostazioni di risparmio energia. Apri il file poweroptions.txt e trova il GUID per la combinazione di risparmio energia corrente. Questo dovrebbe essere all'inizio del file e sarà simile al seguente:

Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)

Copia e incolla solo il GUID (in questo esempio - 381b4222-f694-41f0-9685-ff5bb260df2e) in un nuovo file di testo vuoto. Quindi scorrere e trovare il GUID del sottogruppo per le azioni "Pulsanti di accensione e coperchio". Copia e incolla questo GUID nello stesso nuovo file di testo come una riga separata. Ora trova il GUID di impostazione dell'alimentazione per "Lid close action" e copia e incolla quello sotto gli altri due. Notare anche i numeri di 'Possible Setting Index' per l'opzione che si desidera impostare (disabilitato è 000). Dovrai eseguire il comando una volta per ogni schema di alimentazione, alimentazione CC e CA per coprire entrambe le situazioni. Il comando sarà simile al seguente:

Powercfg –SETACVALUEINDEX [put power scheme GUID here] [put subgroup GUID here] [put power setting GUID here] 000

Ho provato questo e il mio comando è simile al seguente:

powercfg -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 000

Il secondo comando è per quando l'utente è a batteria ed è esattamente lo stesso, tranne per il fatto che utilizziamo l'interruttore –SETDCVALUEINDEX.

Ecco la pagina ufficiale delle opzioni della riga di comando Powercfg di Microsoft per ulteriori riferimenti.


Ciao David, sono contento di vedere che Microsoft ha persone che fanno attività di sensibilizzazione su siti come questo, è incoraggiante. Tuttavia, non è necessario firmare i tuoi post su qualsiasi sito di Stack Exchange e in realtà scoraggiato: questo è lo scopo del badge utente.
Shinrai,

Shrinrai, mi dispiace, visito tanti forum diversi ogni giorno, è difficile mantenere tutte le funzionalità. Guarderò il mio badge utente.
abitanti del

1
powercfgsembra un bell'esempio di "come non scrivere uno strumento da riga di comando": /
Martin von Wittich,

7

L'argomento qui è Come disabilitare la modalità di sospensione tramite CMD?

Supponendo di aver configurato il coperchio del laptop per non fare nulla quando è chiuso:

powercfg -x -standby-timeout-ac 0

(in qualche modo l'interruttore -x non funziona per me, quindi l'ho cambiato in / x e funziona. Il resto degli switch rimane -standby-timeout-ac )

Come mostrato nella pagina Technet di Microsoft "Opzioni della riga di comando Powercfg" ( https://technet.microsoft.com/en-us/library/cc748940(v=ws.10).aspx ), il comando è:

> valore di impostazione powercfg -x (il valore che stai guardando è "standby")

pertanto: > powercfg -x -standby-timeout-ac minuti (disabilita = 0 minuti)

NOTA: ac = collegato all'alimentazione elettrica / dc = funziona a batteria (quindi se si desidera disabilitare la modalità di sospensione mentre si lavora a batteria, sostituire "ac" con "dc" nel comando, quindi sarà simile powercfg -x -standby-timeout-dc 0)


1
Funziona su Win 7 e Win 10, grazie! L'unico requisito: eseguire CMD come amministratore.
TPAKTOPA,

1
Il problema -xpotrebbe essere che si trattava di un trattino completo, non del normale simbolo negativo.
Joel Coehoorn,

2

Sulla base della risposta precedente ho scritto un file batch.

@echo off

for /f "tokens=4 delims= " %%i IN ('powercfg -q ^| find "Power Scheme GUID:"') do Set StrOne=%%i
for /f "tokens=3 delims= " %%i IN ('powercfg -q ^| find "(Power buttons and lid)"') do Set StrTwo=%%i 
for /f "tokens=4 delims= " %%i IN ('powercfg -q ^| find "(Lid close action)"') do Set StrThree=%%i 

powercfg -SETACVALUEINDEX %StrOne% %StrTwo% %StrThree% 000

È necessario modificare da %% i a% i se si tenta di eseguire questi comandi direttamente in un prompt dei comandi (all'esterno di un batch).


1

Basato sulla sceneggiatura di Jeremy e Jonas Herdick, ho scritto questo script di attivazione / disattivazione, che è indipendente dalla localizzazione (quindi funziona anche con le finestre tedesche) e mi aiuta a disabilitare e ripristinare (come mai prima) l'azione di chiusura del coperchio quando si inserisce il mio notebook al suo dock (dove il coperchio deve essere chiuso). E sì, non dimenticare di riattivare il sistema di alimentazione corrente dopo ogni cambiamento come indicato da KallePower

@echo off
setlocal enabledelayedexpansion
for /f "tokens=2 delims=:(" %%i in ('powercfg /GETACTIVESCHEME') do set ACTIVESCHEME=%%i
for /f "tokens=2 delims=:(" %%i in ('powercfg -q %ACTIVESCHEME% SUB_BUTTONS LIDACTION ^| findstr "[0-9a-z]*-[0-9a-z]*-[0-9a-z]*-[0-9a-z]*-[0-9a-z]*"') do set FULLPATH=!FULLPATH! %%i
for /f "tokens=2 delims=:(" %%i in ('powercfg /q %FULLPATH% ^| findstr "[0-9]x[0-9]*"') do (
    set CURRENTSETTINGAC=!CURRENTSETTINGDC!
    set CURRENTSETTINGDC=%%i
)
set CURRENTSETTINGAC=%CURRENTSETTINGAC:~-1%
set CURRENTSETTINGDC=%CURRENTSETTINGDC:~-1%
powercfg -SETACVALUEINDEX %FULLPATH% 0
powercfg -SETDCVALUEINDEX %FULLPATH% 0
powercfg /s %ACTIVESCHEME%
pause
powercfg -SETACVALUEINDEX %FULLPATH% %CURRENTSETTINGAC%
powercfg -SETDCVALUEINDEX %FULLPATH% %CURRENTSETTINGDC%
powercfg /s %ACTIVESCHEME%

1
REM Disabling all Sleep Parameters

@echo off

powercfg /x -hibernate-timeout-ac 0

powercfg /x -hibernate-timeout-dc 0

powercfg /x -disk-timeout-ac 0

powercfg /x -disk-timeout-dc 0

powercfg /x -monitor-timeout-ac 0

powercfg /x -monitor-timeout-dc 0

Powercfg /x -standby-timeout-ac 0

powercfg /x -standby-timeout-dc 0

Pause

0

Microsoft ha una lunga pagina sulle powercfgopzioni della riga di comando.

Probabilmente leggerai -xsull'interruttore. powercfgTuttavia, ho usato solo per modificare le impostazioni di ibernazione.


1
powercfgnon ha opzioni per modificare il lid close action. Le opzioni di risparmio energia sono memorizzate nel Registro di sistema, HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicyma non è chiaro quali valori nei dati binari corrispondano a quale impostazione.
iglvzx,

Grazie per il feedback. Non ero sicuro, ma sono contento di essermi collegato allo stesso posto di David :-)

0

Un'altra cosa. Ricorda di aggiungere "powercfg -S% StrOne%" alla fine dello script per attivare le impostazioni. Le altre impostazioni verranno appena impostate, ma non verranno salvate / attivate.


0

Prova NoDoz . Una volta installato, è possibile eseguire nodozdal prompt cmd (o dal terminale PowerShell) per impedire al sistema di dormire indefinitamente. In alternativa, è possibile passare un parametro di timeout come -t 6h13mfar terminare automaticamente il programma dopo un periodo di tempo arbitrario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.