Устанавливать обновления днём, перезагружаться только вечером — как?
Всем добра!
Существует ли способ настроить Windows 10 таким образом, чтобы:
1. Обновления скачивались и устанавливались на протяжении дня;
2. Компьютеры не перезагружались, даже если обновление того требует, и даже если пользователь ушёл на обед;
3. Разрешить перезагрузку только вечером, после окончания рабочего дня.
Из того, что я понял:
А) Настройка периода активности позволяет избежать самопроизвольных перезагрузок на протяжении дня, разрешает скачивание обновлений, но блокирует установку некоторых обновлений, например обновлений сборки.
Б) Когда обновление сборки скачалось, в Центре обновления Windows появляется надпись: "Обновления будут установлены автоматически, когды вы не будете использовать устройство. Если хотите, вы можете установить их самостоятельно". А под ней - кнопка "Установить сейчас". Если пользователь её не нажмёт, то система будет ждать окончание периода активности, но не дождётся, потому что пользователь уходя выключит/усыпит компьютер.
В) Групповая политика "Настройка автоматического обновления: 4 — авт. загрузка и устан. по расписанию" не решает проблему: система ждёт окончания периода активности.
Г) Команда "wuauclt /updatenow" не запускает установку таких обновлений.
Д) Существует стороннее решение: PowerShell модуль "PSWindowsUpdate", который умеет принудительно запускать установку обновлений, но хотелось бы этого достичь штатными средствами.
Есть идеи, как можно "нажать" кнопку "Установить сейчас" программно?
Я бы использовал модуль "PSWindowsUpdate", но можно ли доверять разработчикам настолько, чтобы установить его на все компьютеры предприятия?
Григорий Бондаренко, если хотите "нажать кнопку" программно, то без модуля PSWindowsUpdate обойтись не получиться. Лично я, сейчас для обновлений пользуюсь PS, создал скрипт и ярлыком с рабочего стола в два клика система обновляется, включая и предварительные пакеты.
MaxKozlov, а вот это уже интересно! Похоже, речь идёт о ветке 1.x. Последняя версия этой ветки 1.6.1.1. Я скачал nupkg-файл, и нашёл в нём скрипт Get-WUInstall - поиграюсь с ним в понедельник. Скажите, а работает ли он на последних сборках Windows 10? Всё-таки 5 лет прошло после написания этой ранней версии скриптов.
Григорий Бондаренко, Мои древние самописные скрипты, насколько я помню, работают аналогично модулю - на COM объектах Microsoft.Update.*
И они работают до сих пор. То есть обычные обновления точно ставятся, а вот насчёт мажорных обновлений сборок 10-ки не уверен, заодно и расскажете :)
MaxKozlov, прошу прощения, поторопился с ответом (удалил). Скрипт версии 1.6.1.1 устанавливает обычные обновления, а вот новую сборку мне не удалось установить: процесс установки вроде проходит нормально, в конце скрипт выдаёт "downloaded". Но после перезагрузки ничего не происходит: сборка по прежнему старая. При повторном запуске скрипта он пишет, что статус обновления "downloaded" и "installed" и предлагает перезапустить машину - вводим "y", перезагружаемся, и снова ничего. В центре обновления по прежнему "ожидание установки".
С другой стороны я заметил, что операционная система сама запускает установку ранее скачанных обновлений, когда снова наступает время установки согласно групповой политике. То-есть, получается, что обновления сборки устанавливаются на второй-третий день после того, как я его утвердил во WSUS: сначала они скачиваются, и где-то на следующий день устанавливаются.
Так что я оставил всё как есть.
Григорий Бондаренко, Но новая версия 2.2.0.2 на c# нормально ставит сборку ? я там бегло код посмотрел - по идее он работает примерно так же. разве что как раз на этот случай сделаны отдельные "закладки" и их надо отдельно поискать :)
Спасибо, как-нибудь проверю. На данный момент все машины в области досягаемости обновлены. Когда появится в офисе кто-то из удалёнщиков, проверю и отпишусь (удалёнщики прячут нотбуки в тумбочки, отключив питание, поэтому обновление сборки не ставится).
Похрустел минут 10 и запустил перезагрузку с установкой feature upgrade.
Насчёт необходимости параметра InstallFile пока не уверен, буду ждать ещё пациента
Но пока проверял только интерактивно, через Enter-PSSession.
Через Invoke-Command финализация не работает.
Интерактивно, через Enter-PSSession работает. Надо прямо в сессии сидеть дожидаться перезагрузки.
Параметр /InstallFile 'C:\$WINDOWS.~BT\Sources\Install.esd' обязателен. без него ругается на то, что что-то там открыть не может, error 00000A (не помню уже что ей там надо)
Зато, похоже, работает из шедулера из под SYSTEM.
Крайне желательно чтобы основная инсталляция и финализация были в один день, иначе всякие глюки прут