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

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

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

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

Ответы (3)

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

Summary

Есть ряд вещей, которые могут на это повлиять. Я знаю, что по всему сайту есть сообщения, в которых подробно описываются различные способы подхода к проблеме; цель этого сообщения - закрепить их и добавить свое собственное видение проблемы, как человека, которого она затрагивает.

Исправление, описанное в Шаге 2, также можно использовать для остановки перезагрузки Windows 10 после установки обновлений Windows Updates.

Это исправление также работает для осеннего обновления (1709). Однако вам нужно будет снова отключить задачу ‘Перезагрузки’ и заново настроить разрешения безопасности, поскольку процесс обновления заменяет ее.

Шаг 1: Отключите таймеры будильника для всех профилей питания

Ленивые технические блогеры заставят вас поверить, что это конец поиска. Хотя это правда, что данный шаг устранит несколько ошибочных отключений, есть ряд параметров и настроек, особенно в Windows 10, которые не учитывают этот параметр независимо от вмешательства пользователя. Перейдите на Панель управления → Параметры питания. Отсюда выберите любой профиль питания и отключите ‘Таймеры отключения питания’. Проработайте все профили.

Спасибо пользователю StackExchange olee22 за изображение.

В Windows 10 настоятельно рекомендуется исправить эту настройку ** для всех профилей питания, а не только для того, который вы выбрали для использования. Различные факультеты Windows будут использовать разные профили; это увеличивает ваши шансы не проснуться. 0x2 и 0x2 и # Шаг 2: Отключите неуправляемую задачу 0x6 и запланированную задачу 0x2 и 0x2 и **Note: Я создал сценарий PowerShell, который можно использовать, чтобы остановить перезагрузку системы Windows 10. Вы можете найти его здесь: github.com/seagull/disable-automaticrestarts .

Папка задач по расписанию UpdateOrchestrator в Windows 10 содержит задачу под названием “перезагрузка”. Эта задача разбудит ваш компьютер для установки обновлений независимо от того, доступны они или нет. Простого удаления разрешения на пробуждение компьютера недостаточно; Windows просто отредактирует его, чтобы дать себе снова разрешение после того, как вы покинете Планировщик задач.

Из панели управления войдите в раздел Администрирование, затем просмотрите Планировщик задач.

Это та задача, которая вам нужна - в разделе Библиотека Планировщика задач → Microsoft → Windows → ОбновитьOrchestrator. Самое важное, что вы хотите сделать:

Отсюда вам нужно будет изменить права доступа к задаче так, чтобы Windows не могла ее домогаться. Задача расположена в reboot. Она называется C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator без расширения файла. Щелкните на ней правой кнопкой мыши, введите свойства и сделайте себя владельцем . Наконец, настройте ее так, чтобы было видно следующее:

Здесь показан файл с разрешениями только на чтение для SYSTEM. Сделайте так, чтобы ни одна учетная запись не имела доступа на запись, даже ваша собственная (вы всегда можете изменить разрешения позже, если нужно). Пожалуйста, убедитесь, что вы отключили любые унаследованные разрешения для файла с помощью кнопки Дополнительно на этом экране, чтобы отменить любые существующие разрешения в корневой папке. Это на 100% остановит Windows от несанкционированного доступа к вашим изменениям после того, как вы их внедрили.

После этого вам больше не нужно будет беспокоиться об этой запланированной задаче.

Если у вас нет Разрешений на изменение задач Reboot Задачи

Изменение задач UpdateOrchestrator теперь требует разрешений UpdateOrchestrator, ни SYSTEM, ни administrator. Одним из способов обойти это является :

  1. Установка собственных TrustedInstaller .
  2. Открытие интерпретатора команд в качестве и администратора и PsTools в локальную папку cd.
  3. Выполнение: psexec.exe -i -s %windir%\system32\mmc.exe /s taskschd.msc
  4. Переходим к PsTools и отключаем задачу (задачи) UpdateOrchestrator, как уже упоминалось ранее.

Примечание для Windows 1709 (Fall Creators’ Update)

Процесс установки Windows изменяет разрешения для файлов, поэтому обязательно пройдите это руководство еще раз после обновления.

Я слышал сообщения о том, что создается новая задача под названием Reboot, которая требует тех же шагов, что и для нее, но я не видел, чтобы эта задача создавалась на моем собственном устройстве после установки обновления 16299.192 (2018-01 Meltdown patch), поэтому я не могу дать совет с абсолютной уверенностью. Те же самые шаги, которые были выполнены выше, должны работать и над любой поставленной задачей.

Шаг 3: Проверка таймеров будильника в PowerShell

У вас отключена функция таймера будильника, но в Windows 10 есть привычка не уважать эту настройку, поэтому для безопасности мы запустим команду PowerShell, чтобы избавиться от всех задач, которые могут, по правде говоря, разбудить ваш ПК. Откройте интерпретатор команд Administrative PowerShell (Start, введите ‘Powershell’, Ctrl+Shift+Enter) и поместите эту команду в окно:

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

Просмотрите все задачи, перечисленные в списке, и удалите их разрешение на пробуждение компьютера. Вам не нужно беспокоиться о разрешениях, как мы делали это с AC Power Install; это был внешний случай.

Шаг 4: Проверьте, какое аппаратное обеспечение может разбудить ваш ПК

Много USB аппаратное обеспечение, когда оно задействовано, имеет возможность “разбудить” ПК (клавиатуры часто делают это, например, при нажатии клавиш); “пробуждение” в локальной сети, как правило, также является проблемой в этом сценарии. Для непосвященных, общая и полезная функция современного аппаратного обеспечения называется ‘Wake on LAN’. Если ваше устройство подключено к локальной сети с помощью проводного Ethernet-кабеля (он не работает для Wi-Fi), вы можете посылать сообщения через него, которое будет будить ваш ПК при получении. Это функция, которую я часто использую, но она должна быть приведена в соответствие, так как ее поведение по умолчанию слишком чрезмерно усердно.

Введите следующую команду в интерпретатор команд администратора:

powercfg -devicequery wake_armed

Отсюда найдите устройства в диспетчере устройств (Панель управления) и в закладке Power Management удалите их возможность разбудить компьютер. Если у вас есть карты сетевого интерфейса, для которых вы хотите оставить Wake-on-LAN, включите эту функцию только в том случае, если устройство получит волшебный пакет, а не в том случае, если оно будет просыпаться для всего трафика, отправляемого в его направлении.

Шаг 5: Проверьте групповую политику только для полной уверенности

Щелкните правой кнопкой мыши на меню Пуск и выберите Выполнить. Введите Reboot. Найдите следующую настройку в разделе Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Обновления Windows → Включение Windows Update Power Management, чтобы автоматически разбудить систему для установки запланированных обновлений. Дважды щелкните по нему и установите параметр Disabled (Отключено).

Шаг 6: Отключите пробуждение машины для автоматического обслуживания

Кто-то в Microsoft имеет чувство юмора для этого. Если вы просыпаетесь ночью на вашем ПК, единственное, что вы хотите услышать больше всего на свете - это хруст и измельчение жесткого диска, как это делает ночная дефрагментация. Отключите эту функцию, найдя раздел “Безопасность и обслуживание” в панели управления. Оттуда разверните раздел Maintenance (Обслуживание) и найдите ссылку Change Maintenance settings (Изменение настроек обслуживания).

Установите время на что-нибудь более коммуникабельное (7PM в порядке) и отключите способность машины просыпаться для выполнения задачи.

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

Теперь я использую этот сценарий для Conclusively stop wake timers from wake 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 }
}

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

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

Я нашел другой ответ невероятно полезным, и я бы просто прокомментировал, если бы мог, но я хотел внести часть программы, которую я быстро написал, чтобы помочь с шагами 3 и 4, найденными здесь: https://github.com/Omniru/System-Wake-Manager/wiki/Home-&-Download

Надеюсь, это принесет пользу некоторым людям.

Вы можете увидеть это всплывающее окно и нажать “Дополнительная информация”, а затем “Выполнить в любом случае” (если вы не уверены в этом, не стесняйтесь проверить исходный текст, он находится на github afterall):

Похожие вопросы

15
9
8
14
9