Zdecydowanie zatrzymaj budziki od wybudzania pulpitu Windows 10

231

Jak zatrzymać budzenie pulpitu systemu Windows 10 ze stanu uśpienia / hibernacji bez interwencji użytkownika?

Dla wielu użytkowników nie będzie to problemem, ale jeśli śpisz w tym samym pokoju co komputer, to budzenie się urządzenia o 3:30 rano w celu pobrania aktualizacji jest irytujące.

mewa
źródło

Odpowiedzi:

363

Odpowiedź

Istnieje wiele rzeczy, które mogą na to wpłynąć. Wiem, że w całej witrynie są posty opisujące różne sposoby podejścia do problemu; ten post ma na celu ich skonsolidowanie i dodanie własnego wglądu w problem jako osoby, na którą on sam ma wpływ.

Poprawka opisana w kroku 2 może również służyć do zatrzymania ponownego uruchamiania systemu Windows 10 po zainstalowaniu aktualizacji systemu Windows.

Ta poprawka działa również w przypadku aktualizacji jesiennej (1709). Musisz jednak ponownie wyłączyć zadanie „Uruchom ponownie” i ponownie skonfigurować uprawnienia zabezpieczeń, ponieważ proces aktualizacji je zastępuje.

Krok 1: Wyłącz liczniki budzenia dla wszystkich profili mocy

Leniwi tech-blogerzy chcieliby, abyś uwierzył, że to koniec twojego wyszukiwania. Chociaż prawdą jest, że ten krok wyeliminuje kilka błędnych wyłączeń, istnieje wiele ustawień i konfiguracji, szczególnie w systemie Windows 10, które nie przestrzegają tego ustawienia niezależnie od interwencji użytkownika. Przejdź do Panelu sterowania> Opcje zasilania. Stąd wybierz profil mocy, który jest pierwszy na liście, i wyłącz „Budziki”. Przepracuj wszystkie profile.

Ustawienia zasilania

(Dzięki olee22 użytkownika StackExchange za obraz)

W systemie Windows 10 zdecydowanie zaleca się ustawienie tego ustawienia dla wszystkich profili zasilania , a nie tylko tego, którego chcesz użyć. Różne wydziały Windows będą używać różnych profili; zwiększa to twoje szanse na niezbudzenie.

Krok 2: Wyłącz niesforne zaplanowane zadanie „restartu”

Uwaga: Utworzyłem skrypt PowerShell, którego można użyć do zatrzymania ponownego uruchamiania systemu Windows 10. Można go znaleźć tutaj: https://github.com/seagull/disable-automaticrestarts

Folder zaplanowanych zadań UpdateOrchestrator w systemie Windows 10 zawiera zadanie o nazwie „restart”. To zadanie obudzi Twój komputer, aby zainstalować aktualizacje bez względu na to, czy są dostępne. Samo usunięcie zgody na wybudzenie komputera nie jest wystarczające; Windows po prostu go edytuje, aby ponownie dać sobie pozwolenie po wyjściu z Harmonogramu zadań.

W panelu sterowania wprowadź Narzędzia administracyjne, a następnie wyświetl Harmonogram zadań. Wprowadzanie harmonogramu zadań

Harmonogram zadań

To jest zadanie, które chcesz - w obszarze Biblioteka harmonogramu zadań> Microsoft> Windows> UpdateOrchestrator. Najważniejsze rzeczy, które chcesz zrobić:

Usuń pozwolenie na zadanie wybudzania komputera Wyłącz zadanie

Odtąd będziesz musiał zmienić uprawnienia do zadania, aby system Windows nie mógł go molestować. Zadanie znajduje się w C: \ Windows \ System32 \ Tasks \ Microsoft \ Windows \ UpdateOrchestrator . Nazywa się „Uruchom ponownie” bez rozszerzenia pliku. Kliknij go prawym przyciskiem myszy, wprowadź właściwości i stań ​​się właścicielem . Na koniec skonfiguruj go tak, aby wyświetlało się:

Uruchom ponownie plik z tylko uprawnieniami do odczytu

Tutaj plik jest pokazany z uprawnieniami tylko do odczytu dla SYSTEM. Spraw, aby żadne konto nie miało dostępu do zapisu, nawet własnego (w razie potrzeby możesz później zmienić uprawnienia). Upewnij się również, że wyłączono wszelkie odziedziczone uprawnienia do pliku z przycisku „Zaawansowane” na tym ekranie, aby zastąpić wszelkie istniejące uprawnienia do folderu głównego. Spowoduje to, że system Windows 100% nie będzie bałagać się zmianami po ich zaimplementowaniu.

Po ustawieniu nie musisz się już martwić zaplanowanym zadaniem.

Uwaga dotycząca systemu Windows 1709 (Fall Creators 'Update)

Proces instalacji systemu Windows zmienia uprawnienia do plików, więc po aktualizacji należy ponownie przeczytać ten przewodnik. Słyszałem doniesienia, że ​​powstaje nowe zadanie o nazwie „Instalacja zasilania prądem przemiennym”, które wymaga wykonania tych samych kroków, ale nie widziałem tego zadania na własnym urządzeniu po zainstalowaniu aktualizacji 16299.192 (łata 2018-01 Meltdown), więc Nie mogę doradzać z absolutną pewnością. Te same kroki, które wykonano powyżej, powinny działać na każdym wprowadzonym zadaniu.

Krok 3: Sprawdź liczniki budzenia w PowerShell

Wyłączyłeś funkcję budzika, ale Windows 10 ma zwyczaj nie respektować tego ustawienia, więc dla bezpieczeństwa uruchomimy polecenie PowerShell, aby wyeliminować wszystkie zadania, które mogą obudzić twój komputer. Otwórz wiersz polecenia programu administracyjnego PowerShell (Start, wpisz „Powershell”, Ctrl + Shift + Enter) i umieść to polecenie w oknie:

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

Przejrzyj wszystkie wymienione zadania i usuń ich uprawnienia do wybudzania komputera. Nie powinieneś martwić się o uprawnienia, jak to zrobiliśmy z Reboot; to był wyjątkowy przypadek.

Krok 4: Sprawdź, jaki sprzęt może obudzić komputer

Wiele urządzeń USB po włączeniu ma możliwość budzenia komputera (klawiatury często robią to na przykład po naciśnięciu klawiszy); Wake-on-LAN jest zwykle również problemem w tym scenariuszu. Dla niewtajemniczonych wspólną i przydatną funkcją nowoczesnego sprzętu jest „Wake on LAN”. Jeśli Twoje urządzenie jest podłączone do sieci lokalnej za pomocą przewodowego kabla Ethernet (nie działa w przypadku Wi-Fi), możesz wysyłać wiadomości, które obudzą Twój komputer po otrzymaniu. Jest to funkcja, z której często korzystam, ale należy ją dostosować, ponieważ jej domyślne zachowanie jest zdecydowanie zbyt nadgorliwe.

Wprowadź następujące polecenie w wierszu polecenia administracyjnego:

powercfg -devicequery wake_armed

Dane wyjściowe wiersza polecenia

Stąd znajdź urządzenia w Menedżerze urządzeń (Panel sterowania) i na karcie „Zarządzanie energią” usuń ich zdolność do budzenia komputera. Jeśli masz karty sieciowe, dla których chcesz zachować funkcję Wake-on-LAN, włącz opcję „Obudź to urządzenie tylko wtedy, gdy otrzyma magiczny pakiet”, zamiast budzić się dla całego wysyłanego ruchu.

Krok 5: Aby się upewnić, sprawdź zasady grupy

Kliknij prawym przyciskiem myszy menu Start i wybierz „Uruchom”. Wpisz GPEdit.MSC. Znajdź następujące ustawienie w obszarze Konfiguracja komputera> Szablony administracyjne> Składniki systemu Windows> Aktualizacje systemu Windows> Włączanie zarządzania energią usługi Windows Update w celu automatycznego wznowienia działania systemu w celu zainstalowania zaplanowanych aktualizacji. Kliknij dwukrotnie i ustaw Wyłączone.

Wyłączanie funkcji budzenia Windows Update

Krok 6: Wyłącz budzenie urządzenia w celu automatycznej konserwacji

Ktoś w Microsoft ma poczucie humoru. Jeśli budzi cię w nocy komputer, jedyną rzeczą, którą chcesz usłyszeć bardziej niż cokolwiek innego, jest chrzęst i zgrzytanie dysku twardego podczas nocnej defragmentacji. Wyłącz tę funkcję, znajdując sekcję „Bezpieczeństwo i konserwacja” w Panelu sterowania. Stamtąd rozwiń „Konserwacja” i poszukaj łącza do „Zmień ustawienia konserwacji”.

Wyłącz automatyczną konserwację

Ustaw czas na coś bardziej towarzyskiego (godzina dziewiętnasta jest w porządku) i wyłącz zdolność budzenia się maszyny do zadania.

mewa
źródło
15
Dzięki! Szczególnie doceniłem solidne, wytrzymałe, bezwzględne postanowienie, by przejąć na własność Rebootplik definicji zadania na poziomie NTFS i zredukować podstępnego, wścibskiego użytkownika SYSTEM(ab) do zwykłych uprawnień do odczytu i wykonywania. Właściwe, bezsensowne podejście, o którym należy pamiętać, jeśli Microsoft zdecyduje się wprowadzić dalsze szkodliwe wrogie machinacje trzymające się za ręce. Tak jak w świetnej piosence Szefa, dziś rano obudziłem się na pustym niebie, gdzie poprzedniej nocy były niezapisane chmury danych w kartach notatnika i IE. System operacyjny poświęcający dane użytkownika na ołtarzu Update & Reboot wyraźnie nie spełnia swojej misji.
Lumi,
8
Chociaż twoja odpowiedź jest bardzo wyczerpująca, wydaje się skuteczna i podniosłem głos, myślę, że mogłaby być lepiej napisana, ponieważ niektóre części są bardzo niejasne i / lub mylące (szczególnie dla osób, które nie są zbyt obeznane z komputerem z systemem Windows). Przykład: co informacje pod linkiem „czyń siebie właścicielem” (opartym na wierszu poleceń) mają związek z kliknięciem prawym przyciskiem myszy zadania ponownego uruchomienia i wybraniem Właściwości?
martineau,
7
Dziękuję za tę odpowiedź. To jest dokładnie takie zachowanie, którego nienawidzę Windows 10 z całego serca - zmiana ustawień z powrotem na to, co uważa za przyjemne, mimo że wyraźnie klikam inaczej. Zdarza się również z innymi rzeczami, takimi jak układy klawiatury.
Dav
13
Właśnie zaktualizowałem do 1709 i nie mogę zmarnować tego zadania ponownego uruchomienia. Nawet po zostaniu jedynym właścicielem tego zadania i posiadaniem pełnych uprawnień nie mogę nic zmienić bez podania hasła do „S-1-5-18” - jakiś pomysł, jak mogę zabić to cholerstwo ?!
MFH
5
@MFH Miałem ten problem sam i znalazłem rozwiązanie, patrz superuser.com/a/1285419/118910
ohaal
26

Teraz używam tego skryptu, aby ostatecznie zatrzymać budziki liczników przed wybudzeniem pulpitu 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 }
}

Jak widać, w przybliżeniu odnosi się do wszystkich kroków wymienionych w tej odpowiedzi, z wyjątkiem uprawnień do pliku zaplanowanego zadania. Ponieważ jednak zamierzam cicho uruchamiać ten skrypt przy każdym odblokowaniu / logowaniu, mam nadzieję, że nie będzie to wcale problemem.

mus
źródło
Czy to jest skrypt .bat?
alm
6
Wygląda jak skrypt .ps1 programu PowerShell wymagający uprawnień administracyjnych. Aby poprawnie wyłączyć zaplanowane zadania, w tym uprawnienia, użyj kombinacji TASKEOWN, ICACLS i SCHTASKS w pliku wsadowym.
psouza4
Nie działało dla mnie :(
sergiol
Get-ScheduledTaskCzęść skryptu nie powiedzie się, gdy znajdzie takich zadań. Masz pomysł, jak to rozwiązać?
thisismydesign
2
@mousio Musiałem uruchomić skrypt w panelu administracyjnym, aby się z nimi spotkać. Rozwiązaniem było przejęcie ich na własność i przyznanie pełnego dostępu administratorom. Jeśli chodzi o Set-ScheduledTaskto, nie sądzę, że przyjmuje ScheduledTaskobiekt jako parametr. Czy to rzeczywiście działało, aby zmodyfikować zadania? Oto referencja od kogoś, kto to zgłasza: social.technet.microsoft.com/Forums/en-US/…
thisismydesign
10

Znalazłem drugą odpowiedź niezwykle pomocną i skomentowałbym, gdybym mógł, ale chciałem przekazać oprogramowanie, które szybko napisałem, aby pomóc w krokach 3 i 4:

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

Mam nadzieję, że jest to przydatne dla niektórych osób.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Możesz zobaczyć to okienko wyskakujące i musisz kliknąć „Więcej informacji”, a następnie „Uruchom mimo to” (jeśli nie jesteś tego pewien, możesz sprawdzić kod źródłowy, jest on dostępny na github): wprowadź opis zdjęcia tutaj

Eric
źródło
1
Dobra robota, Eric.
mewa
1
Więc jeśli jest to zaplanowane automatyczne zadanie konserwacyjne, to dlaczego, do cholery, nie można go uśpić po zakończeniu konserwacji ?! Wtedy nie miałbym z tym problemu
Vitas