Ответ
Есть ряд вещей, которые могут повлиять на это. Я знаю, что на этом сайте есть посты с подробным описанием различных способов решения этой проблемы; Этот пост направлен на то, чтобы объединить их и добавить мое собственное понимание этой проблемы, поскольку кто-то сам затронул ее.
Исправление, описанное в шаге 2, также можно использовать, чтобы не дать Windows 10 перезагрузить компьютер после установки обновлений Windows.
Это исправление работает и для осеннего обновления (1709). Вам нужно будет снова отключить задачу «Перезагрузка» и заново настроить разрешения безопасности, поскольку процесс обновления заменяет ее.
Шаг 1. Отключите таймеры пробуждения для всех профилей мощности
Ленивые технические блоггеры заставят вас поверить, что это конец ваших поисков. Несмотря на то, что этот шаг устранит несколько ошибочных отключений, существует ряд параметров и конфигураций, особенно в Windows 10, которые не соответствуют этому параметру независимо от вмешательства пользователя. Перейдите в Панель управления> Параметры электропитания. Отсюда выберите профиль мощности, который стоит первым в списке, и отключите «Таймеры пробуждения». Работа через все профили.
(Спасибо пользователю StackExchange olee22 за изображение)
В Windows 10 настоятельно рекомендуется исправить этот параметр для всех профилей электропитания, а не только для того, который вы выбрали. Различные факультеты Windows будут использовать разные профили; это увеличивает ваши шансы не проснуться.
Шаг 2. Отключите непослушную запланированную задачу "перезагрузки"
Примечание. Я создал сценарий PowerShell, который можно использовать для остановки перезагрузки системы Windows 10. Вы можете найти его здесь: https://github.com/seagull/disable-automaticrestarts
Папка запланированных задач Windows 10 UpdateOrchestrator содержит задачу под названием "перезагрузка". Эта задача активирует ваш компьютер для установки обновлений независимо от того, доступны ли они. Простого удаления его разрешения для пробуждения компьютера недостаточно; Windows просто отредактирует его, чтобы снова дать ему разрешение после того, как вы покинете планировщик задач.
На панели управления введите «Администрирование», а затем просмотрите планировщик заданий.
Это задача, которую вы хотите - в разделе Библиотека планировщика задач> Microsoft> Windows> UpdateOrchestrator. Самые важные вещи, которые вы хотите сделать:
Отсюда вам нужно будет изменить разрешения для задачи, чтобы Windows не могла приставать к ней. Задача находится в C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator. Это называется "Перезагрузка" без расширения файла. Щелкните правой кнопкой мыши, введите свойства и сделайте себя владельцем. Наконец, настройте его так, чтобы отображалось следующее:
Здесь файл показан с правами только для чтения для SYSTEM. Сделайте так, чтобы ни у одной учетной записи не было доступа к записи, даже вашей собственной (вы всегда можете изменить разрешения позже, если потребуется). Также убедитесь, что вы отключили все унаследованные разрешения для файла с помощью кнопки "Дополнительно" на этом экране, чтобы переопределить любые существующие разрешения для корневой папки. Это на 100% остановит Windows от внесения изменений после того, как вы их внедрили.
Как только это будет установлено, вам больше не придется беспокоиться об этой запланированной задаче.
Примечание для Windows 1709 (Fall Creators 'Update)
Процесс установки Windows изменяет права доступа к файлам, поэтому после обновления обязательно просмотрите это руководство.
Я слышал сообщения о том, что выполняется новая задача под названием "Установка электропитания переменного тока", для которой требуются те же действия, но к ней не добавлялась эта задача, созданная на моем собственном устройстве после установки обновления 16299.192 (обновление для 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» для автоматического пробуждения системы для установки запланированных обновлений. Дважды щелкните его и установите для него значение «Отключено».
Шаг 6: отключите пробуждение вашей машины для автоматического обслуживания
У кого-то в Microsoft есть чувство юмора к этому. Если вы просыпаетесь ночью от своего ПК, единственное, что вы хотите услышать больше всего на свете, - это хруст жесткого диска, когда он выполняет ночную дефрагментацию. Отключите эту функцию, найдя раздел "Безопасность и обслуживание" панели управления. Оттуда разверните "Обслуживание" и найдите ссылку "Изменить настройки обслуживания".
Установите время для чего-то более общительного (7PM в порядке) и отключите способность машины просыпаться для выполнения этой задачи.