Вопрос: Заключительные стоп-сигналы от бодрствования Windows 10 desktop


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

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


202
2017-09-14 20:06


Источник




Ответы:


Ответ

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

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

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

Шаг 1: отключить таймеры слежения за всеми профилями мощности

Lazy tech-bloggers заставили бы вас поверить, что это конец вашего поиска. Хотя это правда, что этот шаг устранит несколько ошибочных остановок, существует ряд настроек и конфигураций, особенно в Windows 10, которые не учитывают этот параметр независимо от вмешательства пользователя. Перейдите в Панель управления> Параметры питания. Отсюда выберите любой профиль мощности в списке в первую очередь и отключите «Таймеры». Работайте через все профили.

Power settings

(Спасибо пользователю StackExchange olee22 для изображения)

В Windows 10 настоятельно рекомендуется исправить эту настройку для всех профилей мощности, а не только тот, который вы выбрали для использования. Различные факультеты Windows будут использовать разные профили; это улучшает ваши шансы не проснуться.

Шаг 2. Отключите непоправимую задачу перезагрузки.

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

На панели управления введите «Администрирование», затем просмотрите планировщик заданий. Entering Task Scheduler

Task Scheduler

Это задача, которую вы хотите - в библиотеке планировщика заданий> Microsoft> Windows> UpdateOrchestrator. Наиболее важные вещи, которые вы хотите сделать:

Remove permission for task to wake PC Disable task

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

Reboot file with only read permissions

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

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

Примечание для Windows 1709 (Обновление разработчиков Fall)

Процесс установки Windows меняет права доступа к файлам, поэтому после обновления убедитесь, что вы снова просмотрите это руководство. Я слышал сообщения о том, что новая задача называется «AC Power Install», для которой требуются те же самые действия, что и для нее, но я не видел эту задачу, созданную на моем собственном устройстве, после установки обновления 16299.192 (2018-01 Meltdown patch) Я не могу советоваться с абсолютной уверенностью. Те же шаги, что и выше, должны работать над любой заданной задачей.

Шаг 3: Проверьте таймеры пробуждения в PowerShell

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

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

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

Шаг 4. Проверьте, какое оборудование может разбудить ваш компьютер.

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

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

powercfg -devicequery wake_armed

Command prompt output of command

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

Шаг 5: Проверьте групповую политику, чтобы быть полностью уверенным

Щелкните правой кнопкой мыши меню «Пуск» и выберите «Выполнить». Введите GPEdit.MSC. Найдите следующий параметр в разделе «Конфигурация компьютера»> «Административные шаблоны»> «Компоненты Windows»> «Обновления Windows»> «Включение управления энергопотреблением Windows Update» для автоматического запуска системы для установки запланированных обновлений. Дважды щелкните его и установите для параметра «Отключено».

Disabling Windows Update wake functionality

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

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

Disable automatic maintenance

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


332
2018-04-20 22:10



Благодаря! Я особенно оценил прочную жесткую безжалостную решимость взять на себя ответственность за Reboot файл определения задачи на уровне NTFS и уменьшить подлый snaky sordid SYSTEM (ab) для простого разрешения на чтение и выполнение. Соответствующий подход к бессмысленности, который следует иметь в виду, должен принять решение Microsoft о развертывании дальнейших вредных враждебных рукопашных махинаций. Как и в великой песне Босса, этим утром я проснулся на пустое небо, где накануне были несохраненные облака данных в блокнотах и ​​вкладках IE. OS, жертвуя пользовательскими данными на алтаре Update & Reboot, явно не выполняет свою миссию. - Lumi
Хотя ваш ответ очень всеобъемлющий, кажется эффективным, и я проголосовал за это, я думаю, что его можно было бы лучше написать, поскольку несколько частей очень расплывчаты и / или запутывают (особенно для людей, которые не являются суперсовременными компьютерами Windows). В зависимости от того, что информация по ссылке «сделай себя владельцем» (которая основана на командной строке) связана с щелчком правой кнопкой мыши по заданию перезагрузки и выбором свойств? - martineau
Для тех, у кого есть Windows 10 Home, у которого нет редактора групповой политики, вы можете изменить реестр вручную, как описано в этот ответ совершить то же самое. - martineau
Спасибо за этот ответ. Это то, что я ненавижу Windows 10 от всей души за то, что меняю настройки на то, что он считает приятным, несмотря на то, что я явно нажимаю на него иначе. Бывает с другими вещами, также как и раскладки клавиатуры. - Dav
Поэтому я просто обновился до 1709 и не могу заставить эту задачу перезагрузить. Даже после того, как я стал единственным владельцем этой задачи и обладаю полными разрешениями, я ничего не могу изменить, не указав пароль для «S-1-5-18» - любая идея, как я могу убить эту проклятую вещь ?! - MFH


Теперь я использую этот скрипт для Заключительные стоп-сигналы от бодрствования 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 }
}

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


21
2017-11-18 02:33



Это сценарий .bat? - alm
Похож на скрипт PowerShell .ps1, требующий административных разрешений. Чтобы правильно отключить запланированные задачи, включая разрешения, используйте комбинацию TASKEOWN, ICACLS и SCHTASKS в пакетном файле. - psouza4
Не работал для меня :( - sergiol


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

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

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

enter image description here

enter image description here

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


7



Хорошая работа, Эрик. - seagull
Итак, если это запланированное задание автоматического обслуживания, то почему черт не может вернуть компьютер обратно после завершения обслуживания ?! Тогда у меня не было бы проблем с этим - Vitas