2015-09-14 20:06:52 +0000 2015-09-14 20:06:52 +0000
245
245

Stop wake timers definitief van het wekken van Windows 10 bureaublad

Hoe voorkom je dat een Windows 10-bureaublad zonder tussenkomst van de gebruiker uit de slaapstand of slaapstand ontwaakt?

Voor veel gebruikers zal dit geen probleem zijn, maar als je in dezelfde kamer slaapt als je PC, dan is het irritant als je machine om 3:30 wakker wordt om updates te downloaden.

Antwoorden (3)

377
377
377
2015-09-14 20:39:07 +0000

Summary

Er zijn een aantal dingen die dit kunnen beïnvloeden. Ik ben me ervan bewust dat er overal op deze site berichten staan waarin verschillende manieren worden beschreven om het probleem aan te pakken; dit bericht is bedoeld om ze te consolideren en mijn eigen inzicht in het probleem toe te voegen als iemand die er zelf mee te maken heeft.

De oplossing in stap 2 kan ook worden gebruikt om te voorkomen dat Windows 10 de computer opnieuw opstart na het installeren van Windows Updates.

Deze oplossing werkt ook voor de Herfstupdate (1709). U moet wel de taak ‘Opnieuw opstarten’ weer uitschakelen en de beveiligingsmachtigingen opnieuw configureren, omdat het updateproces deze vervangt.

Stap 1: Schakel de wake timers uit voor alle power profielen

Luie tech-bloggers willen je doen geloven dat dit het einde is van je zoektocht. Hoewel het waar is dat deze stap een paar foutieve uitschakelingen zal elimineren, zijn er een aantal instellingen en configuraties, met name in Windows 10, die deze instelling niet respecteren, ongeacht tussenkomst van de gebruiker. Ga naar het Configuratiescherm → Energiebeheer. Kies hier het energieprofiel dat als eerste op de lijst staat en schakel ‘Wake timers’ uit. Doorloop alle profielen.

Met dank aan StackExchange gebruiker olee22 voor de afbeelding.

Op Windows 10 is het sterk aan te raden om deze instelling vast te zetten voor alle stroomprofielen , niet alleen degene die je hebt gekozen om te gebruiken. Verschillende Windows faculteiten zullen verschillende profielen gebruiken; dit vergroot uw kansen om niet gewekt te worden.

Stap 2: Schakel de onhandelbare reboot geplande taak uit

Note: Ik heb een PowerShell-script gemaakt dat kan worden gebruikt om te voorkomen dat uw Windows 10-systeem opnieuw wordt opgestart. U kunt het hier vinden: github.com/seagull/disable-automaticrestarts .

Windows 10’s UpdateOrchestrator geplande taak map bevat een taak genaamd “reboot”. Deze taak maakt uw computer wakker om updates te installeren, ongeacht of er updates beschikbaar zijn of niet. Simpelweg de toestemming verwijderen om de computer te wekken is niet voldoende; Windows zal het gewoon bewerken om zichzelf weer toestemming te geven nadat je de Taakplanner hebt verlaten.

Ga in je Configuratiescherm naar Administratieve Extra’s en bekijk dan je Taakplanner.

Dit is de taak die je wilt - onder Taakplanner Bibliotheek → Microsoft → Windows → UpdateOrchestrator. De belangrijkste dingen die je wilt doen zijn:

Vanaf hier moet je de permissies voor de taak wijzigen, zodat Windows hem niet kan molesteren. De taak bevindt zich in C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator. Hij heet Reboot zonder bestandsextensie. Klik er met de rechtermuisknop op, voer eigenschappen in en maak uzelf eigenaar . Configureer het tenslotte zo dat het volgende te zien is:

Hier wordt het bestand getoond met alleen-lezen rechten voor SYSTEM. Zorg ervoor dat geen enkele account schrijftoegang heeft, zelfs niet uw eigen account (u kunt later altijd de rechten wijzigen als dat nodig is). Zorg er ook voor dat je alle overgeërfde rechten voor het bestand uitschakelt via de knop Geavanceerd op dit scherm, om alle bestaande rechten op de hoofdmap te overschrijven. Dit zal 100% STOPPEN dat Windows met je wijzigingen gaat knoeien nadat je ze hebt doorgevoerd.

Als dit eenmaal is ingesteld, hoef je je geen zorgen meer te maken over die geplande taak.

Als je geen Permissies hebt om UpdateOrchestrator Taken te wijzigen

Het wijzigen van de UpdateOrchestrator‘s taken vereist nu SYSTEM permissies, noch administrator noch TrustedInstaller permissies. Een van de manieren om dit te omzeilen is door :

  1. Microsofts eigen PsTools te installeren.
  2. Het openen van Command Prompt als administrator en cd in uw lokale PsTools map.
  3. Uitvoeren: psexec.exe -i -s %windir%\system32\mmc.exe /s taskschd.msc
  4. Ga naar de UpdateOrchestrator en schakel de Reboot taak (taken) uit, zoals eerder vermeld.

Opmerking voor Windows 1709 (Fall Creators’ Update)

Het installatieproces van Windows wijzigt de machtigingen voor bestanden, dus zorg ervoor dat u deze handleiding na de upgrade opnieuw doorloopt.

Ik heb berichten gehoord dat er een nieuwe taak is gemaakt genaamd AC Power Install die dezelfde stappen vereist die erop worden toegepast, maar ik heb deze taak niet zien produceren op mijn eigen apparaat na het installeren van de 16299.192 (2018-01 Meltdown-patch) update, dus ik kan niet met absolute zekerheid adviseren. Dezelfde stappen als hierboven uitgevoerd zouden moeten werken op elke taak die is geïntroduceerd.

Stap 3: Controleer Wake Timers in PowerShell

U hebt de wake timer-functionaliteit uitgeschakeld, maar Windows 10 heeft de gewoonte om die instelling niet te respecteren, dus voor de zekerheid gaan we een PowerShell-opdracht uitvoeren om alle taken uit te roeien die, haalbaar, uw pc kunnen wekken. Open een administratieve PowerShell-opdrachtprompt (Start, typ ‘Powershell’, Ctrl+Shift+Enter) en plaats deze opdracht in het venster:

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

Ga door alle taken die in de lijst staan en verwijder hun toestemming om je computer te wekken. Je zou je geen zorgen hoeven te maken over toestemmingen zoals we deden met Reboot; dat was een buitenstaand geval.

Stap 4: Controleer welke hardware je PC kan wekken

Veel USB hardware, wanneer ingeschakeld, de mogelijkheid heeft om je PC te wekken (toetsenborden doen dit bijvoorbeeld vaak wanneer toetsen worden ingedrukt); wake-on-LAN is typisch ook een probleem in dit scenario. Voor de niet-ingewijden: een veel voorkomende en nuttige functie van moderne hardware heet “Wake on LAN”. Als je apparaat is verbonden met een lokaal netwerk door middel van een bedrade Ethernet kabel (het werkt niet voor Wi-Fi) kun je communicatie doorzenden die je PC zal wekken wanneer deze wordt ontvangen. Het is een functie die ik vaak gebruik, maar het moet in overeenstemming worden gebracht, omdat het standaard gedrag veel te overijverig is.

Voer het volgende commando in op een administratieve opdrachtprompt:

powercfg -devicequery wake_armed

Van hieruit zoek je de apparaten in je Apparaatbeheer (Configuratiescherm) en verwijder je onder het tabblad Energiebeheer hun vermogen om je computer wakker te maken. Als u netwerkinterfacekaarten hebt waarvoor u Wake-on-LAN wilt behouden, schakelt u Alleen dit apparaat wekken als het een magisch pakket ontvangt in, in plaats van gewekt te worden voor al het verkeer dat zijn kant op wordt gestuurd.

Stap 5: Controleer het Groepsbeleid om helemaal zeker te zijn

Klik met de rechtermuisknop in het menu Start en selecteer Uitvoeren. Typ in GPEdit.MSC. Zoek de volgende instelling onder Computerconfiguratie → Administratieve sjablonen → Windows-onderdelen → Windows Updates → Inschakelen van Windows Update Power Management om het systeem automatisch wakker te maken om geplande updates te installeren. Dubbelklik erop en zet hem op Uitgeschakeld.

Stap 6: Uitschakelen van het wakker maken van je machine voor automatisch onderhoud

Iemand bij Microsoft heeft gevoel voor humor bij deze. Als je ‘s nachts gewekt wordt door je PC, is het enige wat je het liefst zou willen horen het kraken en knarsen van de harde schijf tijdens de nachtelijke defragmentatie. Schakel deze functie uit door naar het onderdeel Beveiliging en onderhoud van het Configuratiescherm te gaan. Vouw daar Onderhoud uit en zoek naar de link Onderhoudsinstellingen wijzigen.

Stel de tijd in op iets gezelligers (7PM is prima) en schakel de mogelijkheid van de machine om zichzelf te wekken voor deze taak uit.

26
26
26
2016-04-20 22:10:26 +0000

Ik gebruik nu dit script om Conclusief te stoppen wake timers van het wekken van Windows 10 desktop:

# 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 }
}

Zoals u kunt zien, behandelt het min of meer alle stappen vermeld in dit antwoord behalve de geplande taak bestandspermissies. Maar aangezien ik van plan ben om dit script stil uit te voeren bij elke ontgrendeling/aanmelding, hoop ik dat dit helemaal geen probleem zal zijn.

11
11
11
2016-11-18 02:33:02 +0000

Ik vond het andere antwoord ongelooflijk nuttig, en zou gewoon commentaar geven als ik kon, maar ik wilde een stukje software bijdragen dat ik snel geschreven heb om te helpen met de stappen 3 & 4 die hier gevonden worden: https://github.com/Omniru/System-Wake-Manager/wiki/Home-&-Download

Hopelijk hebben sommige mensen er wat aan.

Het kan zijn dat je dit ziet verschijnen en dat je op “Meer info” moet klikken en dan op “Toch uitvoeren” (als je er niet zeker van bent, voel je vrij om de broncode te controleren, het staat tenslotte op github):