Остаточно зупиніть таймери пробудження від пробудження робочого столу Windows 10


231

Як зупинити пробудження робочого столу Windows 10 зі сну / сплячого режиму живлення без втручання користувача?

Для багатьох користувачів це не буде проблемою, але якщо ви спите в тій же кімнаті, що і ваш ПК, то, коли ваш апарат прокинеться о 3:30 ранку для завантаження оновлень, дратує.

Відповіді:


363

Відповідь

Існує ряд речей, які можуть вплинути на це. Я знаю, що на цьому веб-сайті є публікації, де детально описані різні способи підходу до проблеми; Ця публікація має на меті закріпити їх і додати моє власне розуміння проблеми, як когось, на кого це стосується.

Виправлення, описане на кроці 2, також може бути використане для того, щоб зупинити перезавантаження Windows 10 після встановлення оновлень Windows.

Це виправлення працює і для оновлення падіння (1709). Вам потрібно буде знову відключити завдання «Перезавантажити» та перенастроїти дозволи безпеки, оскільки процес оновлення замінює його.

Крок 1: Вимкніть таймери пробудження для всіх профілів живлення

Ледачі технологічні блогери вважають, що ви вважаєте, що це кінець вашого пошуку. Хоча це правда, що цей крок усуне декілька помилкових відключень, існує ряд налаштувань і конфігурацій, особливо в Windows 10, які не дотримуються цього параметра незалежно від втручання користувача. Перейдіть на панель керування> Параметри живлення. Звідси виберіть потрібний профіль потужності в списку та вимкніть "Таймери пробудження". Опрацюйте всі профілі.

Установки живлення

(Завдяки користувачеві StackExchange olee22 за зображення)

У Windows 10 настійно рекомендується виправити це налаштування для всіх профілів живлення , а не лише тих, які ви вибрали. Різні факультети Windows будуть використовувати різні профілі; це покращує ваші шанси не прокинутися.

Крок 2: Вимкніть нерозважливе "перезавантаження" запланованого завдання

Примітка. Я створив сценарій PowerShell, який можна використовувати для того, щоб зупинити перезавантаження системи Windows 10. Ви можете знайти його тут: https://github.com/seagull/disable-automaticrestarts

У запланованій папці завдань UpdateOrchestrator для Windows 10 міститься завдання, яке називається "перезавантажити". Це завдання розбудить ваш комп’ютер, щоб встановити оновлення незалежно від того, доступні чи ні. Просто видалити дозвіл на розбудження комп'ютера недостатньо; Windows просто відредагує його, щоб знову отримати дозвіл після того, як ви залишите Планувальник завдань.

На панелі керування введіть Адміністративні інструменти, а потім перегляньте свій Планувальник завдань. Введення планувальника завдань

Планувальник завдань

Це завдання, яке ви хочете - в Бібліотеці планувальників завдань> Microsoft> Windows> UpdateOrchestrator. Найважливіші речі, які ви хочете зробити:

Видаліть дозвіл на завдання з пробудження ПК Вимкнути завдання

Звідси вам потрібно буде змінити дозволи для завдання, щоб Windows не могла його виконувати. Завдання розташоване в C: \ Windows \ System32 \ Завдання \ Microsoft \ Windows \ UpdateOrchestrator . Він називається "Перезавантажити" без розширення файлу. Клацніть його правою кнопкою миші, введіть властивості та зробіть себе власником . Нарешті, налаштуйте його так, щоб було показано наступне:

Перезавантажте файл лише з дозволами для читання

Тут файл відображається з дозволом лише для читання для SYSTEM. Зробіть так, щоб жоден обліковий запис не мав доступу до запису, навіть не ваш власний (ви завжди можете змінити дозволи пізніше, якщо вам потрібно). Будь ласка, переконайтеся, що ви вимкніть будь-які успадковані дозволи для файлу за допомогою кнопки «Додатково» на цьому екрані, щоб змінити будь-які наявні дозволи в кореневій папці. Це дозволить на 100% ЗАСТАНОВИТИ Windows не возитися зі своїми змінами після їх впровадження.

Після того, як це буде встановлено, вам більше не потрібно буде турбуватися про це заплановане завдання.

Примітка для Windows 1709 (Оновлення творців падіння)

Процес встановлення Windows змінює дозволи для файлів, тому переконайтеся, що після оновлення знову пройдіть цей посібник. Я чув повідомлення про те, що робиться нове завдання під назвою "Установка змінного струму", яке вимагає тих же кроків, що застосовуються до нього, але я не бачив, щоб ця задача була створена на моєму пристрої після встановлення оновлення 16299.192 (патч Meltdown 2018-01) так Я не можу порадити з абсолютною впевненістю. Ті ж дії, що були виконані вище, повинні працювати над будь-яким завданням, яке було введено.

Крок 3: Перевірте таймери пробудження в PowerShell

У вас відключена функція таймера пробудження, але Windows 10 має звичку не дотримуватися цього налаштування, тому для безпечності ми збираємося виконати команду PowerShell, щоб вилучити всі завдання, які, можливо, розбудять ваш ПК. Відкрийте командний рядок адміністративного PowerShell (Пуск, введіть "Powershell", Ctrl + Shift + Enter) і введіть цю команду у вікно:

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

Пройдіть усі перелічені в ньому завдання та видаліть їх дозвіл, щоб розбудити ваш комп’ютер. Вам не потрібно турбуватися про дозволи, як це робилося з Reboot; це був відвертий випадок.

Крок 4: Перевірте, яке обладнання може розбудити ваш ПК

Багато USB-апаратних засобів, коли вони задіяні, мають можливість розбудити ваш ПК (клавіатури часто роблять, коли натискаються клавіші, наприклад); wake-on-LAN, як правило, також є проблемою в цьому сценарії. Для непосвячених поширена і корисна особливість сучасного обладнання називається "Прокинутися по локальній мережі". Якщо ваш пристрій підключено до локальної мережі за допомогою дротового кабелю Ethernet (він не працює для Wi-Fi), ви можете надсилати комунікації через це, коли він отримає ваш ПК. Це функція, яку я часто використовую, але її потрібно привести у відповідність, оскільки її поведінка за замовчуванням є занадто надмірною.

Введіть таку команду в адміністративний командний рядок:

powercfg -devicequery wake_armed

Командний рядок виведення команди

Звідси знайдіть пристрої у своєму Диспетчері пристроїв (Панель управління) і на вкладці «Управління живленням» видаліть їх здатність розбудити ваш комп’ютер. Якщо у вас є картки мережевого інтерфейсу, для яких ви хочете зберегти функцію Wake-on-LAN, увімкніть функцію "Розбудити цей пристрій лише тоді, коли він отримає чарівний пакет", на відміну від пробудження для всього трафіку, що відправляється на його шляху.

Крок 5: Перевірте групову політику лише для того, щоб бути повністю впевненим

Клацніть правою кнопкою миші меню "Пуск" і виберіть "Виконати". Введіть GPEdit.MSC. Знайдіть такі параметри у розділі Конфігурація комп’ютера> Адміністративні шаблони> Компоненти Windows> Оновлення Windows> Увімкнення керування живленням Windows Update автоматично пробуджувати систему для встановлення запланованих оновлень. Двічі клацніть по ньому та встановіть його "Відключено".

Вимкнення функцій пробудження Windows Update

Крок 6. Вимкніть пробудження машини для автоматичного обслуговування

Хтось із Microsoft має почуття гумору для цього. Якщо вас прокидають вночі за вашим ПК, одне, що ви хочете почути більше, ніж усе інше, - це хрускіт і шліфування жорсткого диска, як це відбувається нічна дефрагментація. Вимкніть цю функцію, знайшовши розділ «Безпека та обслуговування» на панелі керування. Звідти розгорніть "Технічне обслуговування" та шукайте посилання на "Змінити налаштування обслуговування".

Вимкнути автоматичне обслуговування

Встановіть час на щось більш комунікабельне (7PM прекрасно) і відключіть можливість машини прокинутися для виконання завдання.


15
Дякую! Я особливо вдячний за надійну міцну безжалісну рішучість взяти право власності на Rebootфайл визначення завдання на рівні NTFS та зменшити примхливого змійкового зловмисного користувача SYSTEM(ab) до простого дозволу на читання та виконання. Відповідний підхід без дурниць, який слід пам’ятати, якщо Microsoft вирішить розгорнути подальші шкідливі ворожі махінації. Як і у чудовій пісні Боса, сьогодні вранці я прокинувся до порожнього неба, де напередодні напередодні були збережені хмари даних у вкладках блокнота та IE. ОС, що жертвує даними користувачів на вівтарі Update & Reboot, явно не відповідає своїй місії.
Лумі

8
Хоча ваша відповідь дуже вичерпна, здається ефективною, і я її проголосував, я думаю, що це могло бути краще написано, оскільки декілька частин дуже розпливчасті та / або заплутані (особливо для людей, які не мають достатнього кмітливості у комп’ютері Windows). Справа в суті: Що стосується інформації за посиланням "зроби себе власником" (на основі командного рядка) пов'язаного з клацанням правою кнопкою миші на задачі перезавантаження та вибором властивостей?
мартіно

7
Дякую за цю відповідь. Саме таку поведінку я ненавиджу Windows 10 всім серцем за - змінити налаштування назад на те, що, на його думку, приємно, незважаючи на те, що я чітко натискаю інше. Трапляється і з іншими предметами, як, наприклад, розкладками клавіатури.
Дав

13
Тож я просто перейшов на 1709 рік і не можу змусити цю задачу перезавантаження померти. Навіть після того, як я став єдиним власником цього завдання та мав повні дозволи, я нічого не можу змінити, не вказавши пароль для "S-1-5-18" - будь-яка ідея, як я можу вбити цю чортову річ ?!
MFH

5
@MFH я мав цю проблему сам , і я знайшов рішення, см superuser.com/a/1285419/118910
ohaal

26

Зараз я використовую цей скрипт, щоб остаточно зупинити таймери неспання робочого столу 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 }
}

Як бачите, він більш-менш стосується всіх етапів, зазначених у цій відповіді, за винятком запланованих дозволів на файл завдань. Однак, оскільки я маю намір беззвучно запустити цей сценарій при кожному розблокуванні / вході, я сподіваюся, що це зовсім не буде проблемою.


Це сценарій .bat?
alm

6
Схоже на сценарій PowerShell .ps1, що вимагає адміністративних дозволів. Щоб правильно відключити заплановані завдання, включаючи дозволи, використовуйте комбінацію TASKEOWN, ICACLS та SCHTASKS у пакетному файлі.
psouza4

Не працювали для мене :(
сергіол

Get-ScheduledTaskЧастина сценарію зазнає невдачі , коли він знаходить такі завдання. Будь-яка ідея, як її вирішити?
thisismydesign

2
@mousio Мені довелося запустити скрипт в адміністраторському терміналі, щоб зіткнутися з ними. Рішення полягало в тому, щоб взяти на себе право власності на них та надати повний доступ адміністраторам. Щодо Set-ScheduledTaskтого, не думайте, що він приймає ScheduledTaskоб'єкт як параметр. Чи справді це працювало для вас, щоб змінити завдання? Ось посилання від когось іншого, що повідомляє про це: social.technet.microsoft.com/Forums/en-US/…
thisismydesign

10

Я знайшов іншу відповідь неймовірно корисною і просто прокоментував би, якщо зміг, але хотів зробити свій внесок у програму, яку я швидко написав, щоб допомогти в кроках 3 та 4, знайдених тут:

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

Сподіваємось, деяким людям це принесе користь.

введіть тут опис зображення

введіть тут опис зображення

Можливо, ви побачите це спливаюче вікно, і вам доведеться натиснути "Більше інформації", а потім "Виконати все одно" (якщо ви не впевнені в цьому, не соромтеся перевірити вихідний код, це на веб-сайті github): введіть тут опис зображення


1
Гарна робота, Еріку.
Чайка

1
Отже, якщо це автоматичне завдання з автоматичного обслуговування, то чому, чорт, не може повернути комп'ютер у режим сну після технічного обслуговування ?! Тоді б у мене не було проблем з цим
Вітас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.