Podsumowanie
Jest wiele rzeczy, które mogą mieć na to wpływ. Jestem świadomy, że istnieją posty na całej tej stronie szczegółowo opisujące różne sposoby podejścia do tego problemu; ten post ma na celu skonsolidowanie ich i dodanie mojego własnego wglądu w problem jako kogoś, kto sam został dotknięty tym problemem.
Poprawka opisana w Kroku 2 może być również użyta do powstrzymania Windows 10 przed ponownym uruchomieniem maszyny po zainstalowaniu Aktualizacji Windows.
Ta poprawka działa również dla Fall Update (1709). Trzeba będzie wyłączyć zadanie “Reboot” ponownie i ponownie skonfigurować uprawnienia bezpieczeństwa, choć, ponieważ proces aktualizacji zastępuje go.
Krok 1: Wyłącz timery budzenia dla wszystkich profili zasilania
Leniwi tech-blogerzy chcieliby, abyś uwierzył, że to koniec poszukiwań. 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 bez względu na interwencję użytkownika. Przejdź do Panelu sterowania → Opcje zasilania. Wybierz profil zasilania, który znajduje się na pierwszym miejscu na liście i wyłącz opcję “Wake timers”. Przejdź przez wszystkie profile.
Podziękowania dla użytkownika StackExchange olee22 za zdjęcie.
W systemie Windows 10 zdecydowanie zaleca się ustalenie tego ustawienia dla wszystkich profili zasilania, a nie tylko dla tego, który wybrałeś do użycia. Różne wydziały Windows będą używać różnych profili; to zwiększa szanse na to, że nie zostaniesz obudzony.
Krok 2: Wyłącz niesforne reboot
zaplanowane zadanie
Uwaga: Stworzyłem skrypt PowerShell, który może być użyty do zatrzymania systemu Windows 10 przed ponownym uruchomieniem. Możesz go znaleźć tutaj: github.com/seagull/disable-automaticrestarts .
Folder zadań zaplanowanych w UpdateOrchestrator systemu Windows 10 zawiera zadanie o nazwie “reboot”. Zadanie to budzi komputer, aby zainstalować aktualizacje niezależnie od tego, czy są one dostępne, czy nie. Samo usunięcie jego uprawnień do budzenia komputera nie jest wystarczające; system Windows po prostu edytuje je, aby ponownie nadać sobie uprawnienia po opuszczeniu Harmonogramu zadań.
W Panelu sterowania wejdź w Narzędzia administracyjne, a następnie zobacz Harmonogram zadań.
To zadanie, które chcesz wykonać, znajduje się w Bibliotece Harmonogramu zadań → Microsoft → Windows → UpdateOrchestrator. Najważniejsze rzeczy, które chcesz zrobić to:
Stąd będziesz musiał zmienić uprawnienia dla zadania tak, aby Windows nie mógł go molestować. Zadanie to znajduje się w C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator
. Nazywa się Reboot
bez rozszerzenia pliku. Kliknij na nim prawym przyciskiem myszy, wpisz właściwości i uczyń siebie właścicielem . Na koniec skonfiguruj je tak, aby wyświetlało się następująco:
Tutaj plik jest pokazany z uprawnieniami tylko do odczytu dla SYSTEM. Upewnij się, że żadne konto nie ma dostępu do zapisu, nawet twoje własne (zawsze możesz zmienić uprawnienia później, jeśli będziesz tego potrzebował). Upewnij się również, że wyłączyłeś wszelkie dziedziczone uprawnienia dla pliku z przycisku Zaawansowane na tym ekranie, aby nadpisać wszelkie istniejące uprawnienia na folderze głównym. To w 100% powstrzyma system Windows przed mieszaniem się z Twoimi zmianami po ich wprowadzeniu.
Po ustawieniu tej opcji, nie będziesz musiał się już martwić o to zaplanowane zadanie.
Jeśli nie masz Uprawnień do zmiany zadań UpdateOrchestrator
Zmiana zadań UpdateOrchestrator
wymaga teraz uprawnień SYSTEM
, ani administrator
, ani TrustedInstaller
.
Jednym ze sposobów obejścia tego problemu jest :
- Zainstalowanie własnego
PsTools
Microsoftu.
- Otwarcie Command Prompt jako administrator i
cd
do lokalnego folderu PsTools
.
- Wykonanie:
psexec.exe -i -s %windir%\system32\mmc.exe /s taskschd.msc
- Przejście do folderu
UpdateOrchestrator
i wyłączenie zadania (zadań) Reboot
, jak wcześniej wspomniano.
Uwaga dla Windows 1709 (Fall Creators’ Update)
Proces instalacji systemu Windows zmienia uprawnienia do plików, więc upewnij się, że po aktualizacji ponownie przejdziesz przez ten przewodnik.
Słyszałem doniesienia, że powstaje nowe zadanie o nazwie AC Power Install
, które wymaga wykonania tych samych czynności, ale nie widziałem tego zadania na własnym urządzeniu po zainstalowaniu aktualizacji 16299.192 (2018-01 Meltdown patch), więc nie mogę tego stwierdzić z całkowitą pewnością. Te same kroki, które zostały wykonane powyżej, powinny działać na każdym zadaniu, które zostało wprowadzone.
Krok 3: Sprawdź timery budzenia w PowerShell
Wyłączyłeś funkcję timera budzenia, ale Windows 10 ma zwyczaj nie respektować tego ustawienia, więc dla pewności uruchomimy polecenie PowerShell, aby wyeliminować wszystkie zadania, które mogą, w miarę możliwości, obudzić twój komputer. Otwórz administracyjny wiersz poleceń PowerShell (Start, wpisz ‘Powershell’, Ctrl+Shift+Enter) i umieść to polecenie w oknie:
Get-ScheduledTask | where {$_.settings.waketorun}
Przejdź przez wszystkie wymienione w nim zadania i usuń ich uprawnienia do budzenia komputera. Nie powinieneś się martwić o uprawnienia, jak to miało miejsce w przypadku Reboot
; to był skrajny przypadek.
Krok 4: Sprawdź, jaki sprzęt może obudzić twój komputer
Dużo USB Sprzęt komputerowy, gdy jest włączony, ma możliwość obudzenia komputera (klawiatury często to robią, na przykład po naciśnięciu klawiszy); wake-on-LAN jest zazwyczaj również problemem w tym scenariuszu. Dla niewtajemniczonych, powszechną i użyteczną cechą 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 to w przypadku Wi-Fi), możesz wysyłać komunikaty, które po odebraniu obudzą Twój komputer. Jest to funkcja, z której często korzystam, ale musi zostać dostosowana, ponieważ jej domyślne zachowanie jest zdecydowanie zbyt nadgorliwe.
Wprowadź następujące polecenie w administracyjnym wierszu poleceń:
powercfg -devicequery wake_armed
Stąd znajdź urządzenia w swoim Menedżerze urządzeń (Panel sterowania) i w zakładce Zarządzanie energią usuń ich zdolność do wybudzania komputera. Jeśli posiadasz karty sieciowe, dla których chcesz zachować funkcję Wake-on-LAN, włącz opcję Only wake this device if it receives a magic packet as opposed to waking up for all traffic sent its way.
Krok 5: Sprawdź Group Policy tylko po to, aby być całkowicie pewnym
Kliknij prawym przyciskiem myszy na menu Start i wybierz Uruchom. Wpisz GPEdit.MSC
. Znajdź następujące ustawienie pod Computer Configuration → Administrative Templates → Windows Components → Windows Updates → Enabling Windows Update Power Management do automatycznego budzenia systemu w celu zainstalowania zaplanowanych aktualizacji. Kliknij je dwukrotnie i ustaw na Wyłączone.
Krok 6: Wyłącz budzenie komputera do automatycznej konserwacji
Ktoś w Microsofcie ma poczucie humoru w tej kwestii. Jeśli komputer budzi cię w nocy, jedyną rzeczą, którą chciałbyś usłyszeć bardziej niż cokolwiek innego, jest chrzęst i zgrzytanie dysku twardego podczas nocnej defragmentacji. Wyłącz tę funkcję, znajdując sekcję Zabezpieczenia i konserwacja w Panelu sterowania. Następnie rozwiń Konserwacja i poszukaj odnośnika do Zmień ustawienia konserwacji.
Ustaw czas na coś bardziej towarzyskiego (7PM jest w porządku) i wyłącz zdolność maszyny do budzenia się w celu wykonania zadania.