Когда обновление Windows парализует ваших UiPath-роботов: ловушка Patch Tuesday
Роботы UiPath без присмотра работают по ночам, Patch Tuesday тоже. Как правильно организовать окна обновлений, селекторы и оповещения, чтобы ничего не отказало незаметно.

Обновление Windows может остановить ваших UiPath-роботов за одну ночь так, что никто этого не заметит. Роботы без присмотра работают в те часы, когда в офисе никого нет. Именно в это окно у большинства компаний приходятся и плановые работы по установке патчей операционной системы. Утром вместо ошибки обнаруживается просто отсутствие результата.
Почему обновление Windows парализует роботов без присмотра?
Роботу без присмотра нужны три вещи, и обновление может изменить все три: работающий сеанс Windows, неизменный интерфейс целевого приложения и доступную машину.
Перезагрузка представляет собой очевидную часть процесса. Менее заметной частью является последующий вход в систему. UiPath документирует для сценариев без присмотра несколько политик Windows, которые препятствуют автоматическому входу в систему. Политика „Display information about previous logons during user logon“ создает всплывающее окно безопасности при входе и приводит к сбою робота с кодом ошибки 0x80070520; она должна быть установлена в значение Disabled. Также „Sign-in and lock last interactive user automatically after a restart“ мешает созданию сеанса и не должна быть настроена или должна быть отключена (источник: UiPath Robot, Session troubleshooting).
Когда выходят обновления? Ритм Microsoft подробно
Microsoft публикует ежемесячные обновления безопасности для Windows во второй вторник каждого месяца, обычно в 10:00 по тихоокеанскому времени. Однако тот, кто знает только эту дату, знает лишь две трети цикла.
Согласно собственному обзору Microsoft о цикле выпуска обновлений, существует три значимых триггера для незапланированных перезагрузок (источник: Microsoft Learn, Update release cycle for Windows clients):
- Ежемесячное обновление безопасности: второй вторник месяца, кумулятивное, большинством организаций классифицируется как обязательное.
- Необязательное предварительное обновление: четвертый вторник месяца, не связано с безопасностью, служит для ранней проверки предстоящего обновления безопасности.
- Внеплановый выпуск (Out-of-Band): по мере необходимости, без фиксированного срока, когда требуется устранить острую уязвимость.
График, который блокирует только второй вторник, не охватывает четвертый вторник и внеплановые выпуски (Out-of-Band).
Почему селекторы ломаются после обновления?
Селекторы идентифицируют элемент управления по его свойствам в дереве окна. Если обновление изменяет эти свойства, робот больше не находит элемент, хотя для человека он выглядит неизменным.
UiPath при поиске неисправностей, связанных с селекторами, перечисляет несколько причин, три из которых напрямую связаны с обновлениями (источник: UiPath, Troubleshooting selectors):
- Broken selectors after browser updates: Обновления браузера изменяют структуру отрисовываемой страницы. Рекомендуется обновление пакетов Activities.
- UI changes in target application: Функциональное обновление прикладного приложения смещает узлы или атрибуты. Решением являются адаптированные узлы селектора или Unified Target с резервным переходом на компьютерное зрение.
- Differences in the environment: Тестовая и продуктивная среды работают с разным масштабированием. UiPath рекомендует использовать масштабирование 100 процентов во всех средах без исключения.
Поэтому надежные селекторы являются не роскошью, а самой дешевой страховкой от дней патчей. Подстановочные знаки для динамических частей, стабильные атрибуты, такие как aaname или id вместо позиционных индексов, и якоря вместо жестких путей. Тот же принцип действует независимо от инструмента, для стороны Microsoft мы подробно описали это в статье надежные селекторы и время ожидания в Power Automate Desktop.
Как совместить окно обновлений и график работы роботов?
Окно обновлений и график работы роботов не должны пересекаться, причем обновление должно выполняться первым. Робот, который запускается в 02:00, в то время как патч перезагружает систему в 02:30, теряет свой запуск прямо посреди транзакции.
Microsoft рекомендует для виртуальных машин поэтапный план установки патчей, который почти без изменений можно перенести на машины роботов: разработка во второй вторник, тестирование во вторую среду, продуктивная среда только во вторую субботу или в следующее за ней воскресенье (источник: Microsoft Learn, Scalable Windows virtual machine patch management). Дни между ними составляют окно проверки.
На практике это означает следующее: заранее отключить или перенести триггеры на ночь установки патчей, разместить перезагрузку в окне без выполняющихся заданий и перед первым продуктивным запуском выполнить небольшой проверочный процесс.
Как узнать, что робот остановился, прежде чем это заметит клиент?
Orchestrator помечает робота как Unresponsive, если робот и Orchestrator не обменивались данными в течение последних двух минут (источник: UiPath Orchestrator, Robot Statuses). Этот сигнал существует, нужно лишь, чтобы он до кого-то дошел.
Orchestrator различает уровни серьезности Info, Success, Warn, Error и Fatal и доставляет уведомления четырьмя способами: баннер в интерфейсе, панель Alerts, страница Alerts и сводки по электронной почте. Для ночных запусков важно различие между двумя форматами писем: десятиминутная сводка содержит исключительно оповещения уровней Fatal и Error, а дневная сводка собирает начиная с 10 часов по местному времени все подписанные события (источник: UiPath Orchestrator, Alerts).
Тот, кто подписан только на дневную сводку, узнает об отказе в 02:00 не раньше первой половины дня. Для ночных запусков правильным выбором является десятиминутная сводка, дополненная содержательной проверкой: технически успешное задание, которое обработало ноль записей, представляет собой ошибку, которую не найдет ни один системный сигнал.
Именно это в наших проектах по автоматизации чаще всего оказывается пробелом: техническое наблюдение налажено, а содержательная проверка результата отсутствует. О том, что конкретно берет на себя NordFlux в этой области, рассказано на нашей странице, посвященной консультации по UiPath и автоматизации процессов в целом.
Что должно входить в тестовую среду и план отката?
Тестовая среда для RPA приносит пользу только тогда, когда у нее тот же уровень установленных патчей и то же масштабирование экрана, что и у продуктивной среды. Иначе вы тестируете другую систему и упускаете именно то отклонение, которое ломает селектор.
Путь отката должен быть определен до первого дня установки патчей. Для минимального оснащения достаточно трех пунктов:
- Снимок перед обновлением: Для виртуальных машин роботов контрольная точка непосредственно перед окном технического обслуживания. Это самый быстрый способ вернуться в рабочее состояние.
- Фиксация версии автоматизации: Последняя успешно выполненная версия процесса остается доступной в Orchestrator, чтобы возврат назад не сорвался из-за отсутствующего пакета.
- Ручной резервный способ: Для каждого критически важного для бизнеса процесса должно быть задокументировано, как он может работать в течение дня без робота. Без этого плана проблема с патчем превращается в проблему с поставкой.
Часто задаваемые вопросы
Когда именно наступает Patch Tuesday?
Microsoft публикует ежемесячные обновления безопасности для Windows во второй вторник каждого месяца, обычно в 10:00 по тихоокеанскому времени, что соответствует позднему вечеру в Германии. Кроме того, в четвертый вторник выходит необязательное предварительное обновление без содержания, связанного с безопасностью, а при необходимости выпускаются внеплановые обновления (Out-of-Band) без фиксированного срока.
Можно ли просто отключить обновления Windows на машинах роботов?
Нет, это лишь переносит проблему и создает риск безопасности. Ежемесячные обновления безопасности являются кумулятивными, и более позднее их применение сразу приносит все пропущенные изменения, а значит, больший риск сбоя, чем регулярный небольшой шаг. Разумным решением является поэтапный план с фиксированным окном технического обслуживания, а не отказ от обновлений.
Как понять, что селектор сломался из-за обновления?
Типичным признаком является ошибка при поиске элемента, которая впервые возникает именно после окна технического обслуживания и всегда в одном и том же месте процесса. Среди причин UiPath называет, помимо прочего, обновления браузера, измененные интерфейсы целевого приложения и различное масштабирование между тестовой и продуктивной средами. Сначала проверьте, возникает ли ошибка на всех машинах или только на тех, которые уже получили патч.
Достаточно ли уведомления по электронной почте из Orchestrator в качестве мониторинга?
Для технического уровня да, для содержательного нет. Десятиминутная сводка своевременно сообщает об оповещениях уровней Fatal и Error, но не сообщает о случае, когда задание технически выполняется без ошибок, но при этом обрабатывает ноль операций. Поэтому дополните мониторинг проверкой количества, сопоставляющей фактическое число обработанных операций с ожидаемым значением.
Какой первый шаг предпринять, если роботы регулярно отказывают после обновлений?
Сопоставьте письменно окно технического обслуживания и график работы роботов и проверьте, завершается ли обновление до первого запуска. Чаще всего проблема заключается именно в порядке действий, а не в самой автоматизации. И только после этого имеет смысл заниматься более надежными селекторами.
Simon Glowik
Основатель NordFlux. Семь лет опыта, от веба и SEO до автоматизации в масштабах концерна, сегодня прагматично для среднего бизнеса и с немецким суверенитетом данных.
Сертификаты
- Сертифицирован Microsoft — PL-900 и AZ-900
- Сертифицирован UiPath — Automation Developer Associate
Конкретные вопросы по автоматизации или КИ?
В рамках бесплатного первичного анализа мы напрямую обсудим Ваш случай. Без обязательств.