← на главную

Алексей Батищев. Заметки обо всём, что происходит со мной и окружающим миром

Избранное: мои фото- и видеоработы, забрать своё из облаков, КЭНК
Навигация: все теги, посты по годам

Сага о перезагрузках, или смекалка против власти корпораций

Сегодняшний рассказ — на мои любимые темы: как заставить роботов работать за людей, и как победить неумолимые корпорации с помощью их же инструментов. А ещё это реальный эксклюзив и ноу-хау, до которого (кажется) ещё никто не задумывался. Устраивайтесь поудобнее.

Предыстория такова: первой большой задачей на нынешнем проекте у меня было внедрить процесс обновления операционок на рабочих местах. Главная проблема тут в бесценности пользовательских данных и в том, как в борьбе за безопасность Microsoft перешла грань. Начиная с какого-то момента, штатными средствами и политиками Windows стало невозможно обеспечить обязательную, но бережную установку обновлений системы для клиентских ОС. Да, появились более наглядные нотификации, возможность задавать дедлайны, но в итоге, все варианты сводились к двум сценариям — либо апдейты не будут гарантированно установлены, либо автообновление будет работать, но комп может быть перезагружен в вообще говоря неудобное клиенту время. Самый отстой тут — перезагрузки по ночам или в другие моменты, когда комп что-то делает без активного участия человека — тут администраторы, программисты и прочие рендерщики видео по три часа в фоне начинают беситься, вспоминая потерянное на таких ребутах время и данные.

Собственно, рабочую задачу я решил через отключение всех автоматических политик Microsoft и реализации собственного решения — агента, который работает на хостах, по удобному предприятию и сотрудникам расписанию ставит обновления, назначает и следит за сроками установки, адекватно напоминает о необходимости перезагрузки и вообще решает задачу бережно и результативно. Ключевая фишка — умные дедлайны, когда на установку обновлений пользователю отводится некоторое количество рабочих дней, а принудительная перезагрузка (если до неё дойдёт) не происходит пока пользователя нет у компа, и он не может сохранить свои данные. Ну а попутно появился инструмент инвентаризации и управления клиенсткими машинами. Когда-нибудь расскажу об этом отдельно, кодовое имя проекта «Светофор».

Уведомление, которым Светофор достаёт даже самого упорного пользователя

Однако, с Windows 11 оставалась одна загвоздка — штатными средствами полностью запретить винде перезагружаться по собственному желанию, при включенной авто-установке апдейтов, не получилось. Были найдены и протестированы совсем уж некрасивые варианты типа модификации системных файлов и запрета самой винде их менять на уровне файловых прав, но это было грязно и неудобно для внедрения. До поры таких клиентов было немного, ситуация позволяла терпеть, однако недавно я сам перешёл на Windows 11, миграция в компании тоже стартовала, и проблема начала разрастаться.

Я провёл очередной рисёрч на тему (оказалось что ничего за годы не изменилось), после чего сделал ещё один заход на проблему в КЭНК-парадигме, и тут в ночи перезагрузочного кошмара забрезжил-таки рассвет.

Следим за руками: винда штатно смотрит на заданный в настройках Период Активности (Active Hours), и не ребутает компы во время него. Так отчего бы нам автоматически не сдвигать его постоянно так, чтобы период активности не заканчивался никогда?

Быстрая проверка показала что соответствующие параметры хранятся в реестре и доступны на запись непривилегированным пользователям, и что система реально их регулярно перечитывает. А если параметры сдвигать вперёд постоянно, то неуправляемого саморебута после установки обновлений не случается совсем.

вот они красавчики в реестре и в гуе

Дальше — дело техники, добавил в Светофор небольшой модуль, он сдвигает Active Hours на компах пользователей, а перезагрузкой управляет сам.

Компьютеры работают, человек кайфует, корпорации щёлкнуты по носу, ситуация под нашим контролем!

А вот о том, как это может быть полезно простым домашним юзерам — расскажу в следующий раз.

КЭНК!
Слава роботам!