Interrompere definitivamente i timer di riattivazione dal desktop di Windows 10


231

Come si impedisce a un desktop di Windows 10 di svegliarsi dallo stato di sospensione / ibernazione senza l'intervento dell'utente?

Per molti utenti questo non sarà un problema ma, se dormi nella stessa stanza del tuo PC, avere la macchina sveglia alle 3:30 per scaricare gli aggiornamenti è irritante.

Risposte:


363

Risposta

Ci sono un certo numero di cose che possono influenzare questo. Sono consapevole che ci sono post in tutto questo sito che descrivono vari modi per affrontare il problema; questo post ha lo scopo di consolidarli e aggiungere la mia visione del problema come qualcuno interessato da esso stesso.

La correzione descritta nel passaggio 2 può essere utilizzata anche per interrompere il riavvio di Windows 10 dopo l'installazione di Windows Update.

Questa correzione funziona anche per l'aggiornamento di autunno (1709). Dovrai disabilitare nuovamente l'attività 'Riavvia' e riconfigurare le autorizzazioni di sicurezza, poiché il processo di aggiornamento lo sostituisce.

Passaggio 1: disabilitare i timer di riattivazione per tutti i profili di potenza

Lazy tech-blogger vorrebbe farti credere che questa sia la fine della tua ricerca. Mentre è vero che questo passaggio eliminerà alcuni arresti errati, ci sono una serie di impostazioni e configurazioni, in particolare in Windows 10, che non rispettano questa impostazione indipendentemente dall'intervento dell'utente. Vai al Pannello di controllo> Opzioni risparmio energia. Da qui, seleziona qualsiasi profilo di potenza sia il primo nell'elenco e disabilita 'Wake timer'. Lavora attraverso tutti i profili.

Impostazioni di alimentazione

(Grazie all'utente StackExchange olee22 per l'immagine)

Su Windows 10, si consiglia vivamente di correggere questa impostazione per tutti i profili di alimentazione , non solo per quelli che si è scelto di utilizzare. Varie facoltà di Windows useranno profili diversi; questo aumenta le possibilità di non essere svegliato.

Passaggio 2: disabilitare l'attività pianificata di "riavvio" indisciplinato

Nota: ho creato uno script PowerShell che può essere utilizzato per interrompere il riavvio del sistema Windows 10. Puoi trovarlo qui: https://github.com/seagull/disable-automaticrestarts

La cartella delle attività pianificate UpdateOrchestrator di Windows 10 contiene un'attività denominata "riavvio". Questa attività riattiverà il computer per installare gli aggiornamenti indipendentemente dal fatto che siano disponibili o meno. Non è sufficiente rimuovere l'autorizzazione per riattivare il computer; Windows lo modificherà per darsi nuovamente l'autorizzazione dopo aver lasciato l'Utilità di pianificazione.

Dal tuo pannello di controllo, inserisci Strumenti di amministrazione, quindi visualizza l'Utilità di pianificazione. Immettere l'Utilità di pianificazione

Agenda

Questa è l'attività desiderata: in Libreria Utilità di pianificazione> Microsoft> Windows> UpdateOrchestrator. Le cose più importanti che vuoi fare sono:

Rimuovere l'autorizzazione per l'attività di riattivazione del PC Disabilita attività

Da qui, dovrai modificare le autorizzazioni per l'attività in modo che Windows non possa molestarlo. L'attività si trova in C: \ Windows \ System32 \ Tasks \ Microsoft \ Windows \ UpdateOrchestrator . Si chiama "Riavvia" senza estensione file. Fai clic con il tasto destro del mouse, inserisci le proprietà e renditi proprietario . Infine, configuralo in modo che sia mostrato quanto segue:

Riavvia il file con solo autorizzazioni di lettura

Qui il file viene mostrato con autorizzazioni di sola lettura per SYSTEM. Fai in modo che nessun account abbia accesso in scrittura, nemmeno il tuo (puoi sempre cambiare le autorizzazioni in seguito, se necessario). Assicurati anche di disabilitare tutte le autorizzazioni ereditate per il file dal pulsante "Avanzate" in questa schermata, per sovrascrivere tutte le autorizzazioni esistenti nella cartella principale. Questo fermerà il 100% di Windows dal fare confusione con le modifiche dopo averle implementate.

Una volta impostato, non dovrai più preoccuparti di quell'attività pianificata.

Nota per Windows 1709 (Fall Creators 'Update)

Il processo di installazione di Windows modifica le autorizzazioni per i file, quindi assicurati di rivedere questa guida dopo l'aggiornamento. Ho sentito che viene fatta una nuova attività chiamata "AC Power Install" che richiede gli stessi passaggi applicati ad essa, ma non ho visto questa attività prodotta sul mio dispositivo dopo aver installato l'aggiornamento 16299.192 (patch Meltdown 2018-01) così Non posso consigliare con assoluta certezza. Gli stessi passaggi eseguiti sopra dovrebbero funzionare su qualsiasi attività che è stata introdotta.

Passaggio 3: controllare i timer di riattivazione in PowerShell

Hai disattivato la funzionalità del timer di riattivazione, ma Windows 10 ha l'abitudine di non rispettare tale impostazione, quindi per sicurezza, eseguiremo un comando PowerShell per eliminare tutte le attività che possono, in modo fattibile, riattivare il tuo PC. Apri un prompt dei comandi di PowerShell amministrativo (Start, digita "Powershell", Ctrl + Maiusc + Invio) e posiziona questo comando nella finestra:

Get-ScheduledTask | where {$_.settings.waketorun}

Passa attraverso tutte le attività che elenca e rimuovi le autorizzazioni per riattivare il computer. Non dovresti preoccuparti delle autorizzazioni come abbiamo fatto con Reboot; quello era un caso periferico.

Passaggio 4: verificare quale hardware può riattivare il PC

Un sacco di hardware USB, quando attivato, ha la capacità di riattivare il PC (le tastiere spesso lo fanno quando si premono i tasti); wake-on-LAN è in genere anche un problema in questo scenario. Per chi non lo sapesse, una caratteristica comune e utile dell'hardware moderno è chiamata "Wake on LAN". Se il tuo dispositivo è collegato a una rete locale tramite un cavo Ethernet cablato (non funziona per il Wi-Fi), puoi inviare comunicazioni che risveglieranno il tuo PC una volta ricevuto. È una funzionalità che uso spesso ma deve essere messa in linea, poiché il suo comportamento predefinito è troppo zelante.

Immettere il comando seguente in un prompt dei comandi amministrativo:

powercfg -devicequery wake_armed

Output del prompt dei comandi del comando

Da qui, trova i dispositivi in ​​Gestione dispositivi (Pannello di controllo) e, nella scheda "Risparmio energia", rimuovi la loro capacità di riattivare il computer. Se si dispone di schede di interfaccia di rete per le quali si desidera conservare Wake-on-LAN, abilitare "Riattiva questo dispositivo solo se riceve un pacchetto magico" invece di svegliarsi per tutto il traffico inviato.

Passaggio 5: controlla i Criteri di gruppo solo per essere completamente sicuro

Fai clic con il pulsante destro del mouse sul menu Start e seleziona "Esegui". Digita GPEdit.MSC. Trova le seguenti impostazioni in Configurazione computer> Modelli amministrativi> Componenti di Windows> Aggiornamenti di Windows> Abilitazione di Risparmio energia di Windows Update per riattivare automaticamente il sistema per installare gli aggiornamenti pianificati. Fare doppio clic su di esso e impostarlo su Disabilitato.

Disabilitazione della funzionalità di riattivazione di Windows Update

Passaggio 6: disabilitare il riattivazione della macchina per la manutenzione automatica

Qualcuno di Microsoft ha un senso dell'umorismo per questo. Se sei svegliato di notte dal tuo PC, l'unica cosa che vuoi sentire più di ogni altra cosa è il disco rigido che si scricchiola e si macina mentre fa una deframmentazione notturna. Disabilita questa funzione trovando la sezione "Sicurezza e manutenzione" del Pannello di controllo. Da lì, espandere "Manutenzione" e cercare il collegamento a "Modifica impostazioni di manutenzione".

Disabilita la manutenzione automatica

Impostare il tempo su qualcosa di più socievole (7PM va bene) e disabilitare la capacità della macchina di svegliarsi per l'attività.


15
Grazie! Ho particolarmente apprezzato la solida e spietata determinazione a prendere la proprietà del Rebootfile di definizione dell'attività a livello NTFS e a ridurre l'utente subdolo e sordido SYSTEM(ab) a semplici autorizzazioni di lettura ed esecuzione. Un approccio appropriato e privo di senso da tenere a mente qualora Microsoft decida di implementare ulteriori macchinazioni ostili dannose per le mani. Come nella grande canzone del Boss, questa mattina mi sono svegliato in un cielo vuoto dove la sera prima erano state salvate nuvole di dati nei blocchi note e nelle schede IE. Un sistema operativo che sacrifica i dati dell'utente sull'altare di Update & Reboot fallisce chiaramente la sua missione.
Lumi,

8
Anche se la tua risposta è molto completa, sembra efficace e l'ho votata a favore, penso che avrebbe potuto essere scritto meglio poiché molte parti sono molto vaghe e / o confuse (specialmente per le persone che non sono esperti di computer Windows). Caso in questione: che cosa hanno a che fare le informazioni al link "renditi proprietario" (che è basato sulla riga di comando) facendo clic con il pulsante destro del mouse sull'attività di riavvio e selezionando Proprietà?
martineau,

7
Grazie per questa risposta Questo è esattamente il tipo di comportamento per cui odio Windows 10 con tutto il cuore per - riportare le impostazioni a ciò che ritiene bello, nonostante io faccia esplicito clic in caso contrario. Succede anche con altre cose come i layout di tastiera.
Dav

13
Quindi ho appena eseguito l'aggiornamento a 1709 e non riesco a far morire questa attività di riavvio. Anche dopo essere diventato l'unico proprietario di questa attività e avere le autorizzazioni complete non posso cambiare nulla senza fornire la password per "S-1-5-18" - hai idea di come posso uccidere questa dannata cosa ?!
MFH,

5
@MFH Ho avuto quel problema da solo e ho trovato la soluzione, vedi superuser.com/a/1285419/118910
ohaal

26

Ora uso questo script per interrompere definitivamente i timer di riattivazione dal desktop di Windows 10 :

# disable wake for enabled scheduled tasks that are allowed to wake
Get-ScheduledTask |
?{ $_.Settings.WakeToRun -eq $true -and $_.State -ne 'Disabled' } |
%{
    write-host $_
    $_.Settings.WakeToRun = $false;
    Set-ScheduledTask $_
}

# disable wake for devices that are allowed to wake (list of wake capable devices: powercfg -devicequery wake_from_any)
powercfg -devicequery wake_armed |
%{
    write-host $_
    if ($_ -notmatch '^(NONE)?$')
    { powercfg -devicedisablewake $_ }
}

# disable wake timers for all power schemes
powercfg -list | Select-String 'GUID' |
%{
    write-host $_
    $guid = $_ -replace '^.*:\s+(\S+?)\s+.*$', '$1'
    powercfg -setdcvalueindex $guid SUB_SLEEP RTCWAKE 0
    powercfg -setacvalueindex $guid SUB_SLEEP RTCWAKE 0
}

# disable wake for automatic updates and for automatic maintenance
'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUPowerManagement', 
'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance\WakeUp' |
%{
    write-host $_
    $key = split-path $_
    $name = split-path $_ -leaf
    $type = 'DWORD'
    $value = 0
    if (!(Test-Path $key))
    { New-Item -Path $key -Force | Out-Null }
    if ((Get-ItemProperty $key $name 2>$null).$name -ne $value)
    { Set-ItemProperty $key $name $value -type $type }
}

Come puoi vedere, risolve più o meno tutti i passaggi menzionati in questa risposta ad eccezione delle autorizzazioni del file di attività pianificate. Tuttavia, poiché ho intenzione di eseguire silenziosamente questo script su ogni sblocco / accesso, spero che questo non sia affatto un problema.


È uno script .bat?
alm

6
Sembra uno script .ps1 di PowerShell che richiede autorizzazioni amministrative. Per disabilitare correttamente le attività pianificate, comprese le autorizzazioni, utilizzare una combinazione di TASKEOWN, ICACLS e SCHTASKS in un file batch.
psouza4,

Non ha funzionato per me :(
sergiol

La Get-ScheduledTaskparte dello script non riesce quando trova tali attività. Qualche idea su come risolverlo?
thisismydesign

2
@mousio Ho dovuto eseguire lo script in un terminale di amministrazione per poterli incontrare. La soluzione era assumerne la proprietà e garantire pieno accesso agli amministratori. Per quanto riguarda Set-ScheduledTasknon pensare che prenda un ScheduledTaskoggetto come parametro. Questo ha effettivamente funzionato per te per modificare le attività? Ecco un riferimento di qualcun altro che lo segnala: social.technet.microsoft.com/Forums/en-US/…
thisismydesign

10

Ho trovato l'altra risposta incredibilmente utile e vorrei solo commentare se potessi, ma volevo contribuire con un pezzo di software che ho scritto rapidamente per aiutare con i passaggi 3 e 4 trovati qui:

https://github.com/Omniru/System-Wake-Manager/wiki/Home-&-Download

Spero che sia di qualche utilità per alcune persone.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Potresti vedere questo pop-up e fare clic su "Ulteriori informazioni" e poi su "Esegui comunque" (se non sei sicuro, controlla il codice sorgente, è su Github dopo tutto): inserisci qui la descrizione dell'immagine


1
Bel lavoro, Eric.
gabbiano,

1
Quindi, se si tratta di questa attività programmata per la manutenzione automatica, allora perché diamine non può riaccendere il computer dopo la manutenzione ?! Quindi non avrei avuto problemi con esso
Vitas,
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.