Windows 11 GA в корпоративной среде: PC Health Check API, WUfB readiness и поэтапный rollout
Windows 11 вышла 5 октября 2021. Разбираем PC Health Check API, Windows Update for Business readiness и как выстроить поэтапный rollout без хаоса в корпоративной среде.
Windows 11 выходит в GA 5 октября 2021 - новые требования к железу запускают волну корпоративных аудитов и разворачивания deployment-пайплайнов
Завтра выходит Windows 11 GA. Мы провели последние недели в режиме «разведка и подготовка» - и пора зафиксировать, что реально полезно при enterprise-развёртывании, а что выглядело хорошо в документации, но на практике добавляет головной боли.
Два слова о контексте. Неделю назад мы описали аудит железа: TPM 2.0, Secure Boot, списки совместимых CPU. Это фундамент, без которого разговор про rollout вообще не имеет смысла. Если аудит ещё не сделан - туда сначала.
PC Health Check API: что это и как им пользоваться
Microsoft выкатила приложение PC Health Check ещё в июне, убрала после негативной реакции, доработала и вернула. Сейчас в нём есть API, который позволяет получить результаты проверки совместимости программно - без того, чтобы кликать по GUI на каждой машине.
Через WMI-класс MSFT_TPMInformation и Win32_OperatingSystem можно автоматизировать часть проверок, но PC Health Check делает комплексную оценку по критериям Microsoft, включая проверку CPU против внутреннего списка совместимости. Запуск через PowerShell с разбором выхода:
$result = & "$env:LOCALAPPDATA\Programs\PCHealthCheck\PCHealthCheck.exe" /quiet /log
# Лог записывается в %TEMP%\PCHealthCheckLog.etl
# Для чтения - Get-WinEvent или парсинг через tracerpt
На практике ETL-лог неудобен для парсинга в промышленном масштабе. Удобнее запускать инвентарную задачу через RMM или SCCM: собирать вывод Get-Tpm, Confirm-SecureBootUEFI, Get-CimInstance Win32_Processor и проверять CPU вручную против таблицы из документации. Медленнее, но предсказуемее.
Windows Update for Business Readiness Report
Это то, что действительно полезно на масштабе - если у клиента есть Microsoft Endpoint Manager (Intune) или связка SCCM + Desktop Analytics. В Endpoint Manager появился отдельный раздел Endpoint analytics → Work from anywhere, там есть Windows 11 readiness report: количество устройств, готовых и неготовых, с разбивкой по причинам несоответствия.
Отчёт агрегирует данные с агентов, строит сводку и позволяет экспортировать список машин в каждой категории. Это сильно лучше, чем самописный PowerShell-сбор, если инфраструктура уже в Intune. Если нет - придётся WMI-запросами через SCCM или вовсе вручную.
Ключевой момент: отчёт показывает не только аппаратную совместимость, но и наличие apps-блокеров - приложений, для которых Microsoft знает о несовместимости с Windows 11. Это отдельный слой, о котором обычно забывают при планировании.
Поэтапный rollout: как не превратить это в хаос
После аудита естественный вопрос - в каком порядке катить. Если попытаться двинуть сразу весь совместимый парк, неизбежен поток обращений в поддержку, часть из которых будет про драйверы периферии, часть - про софт, который не работает, часть - про «куда делся мой рабочий стол».
Мы работаем по схеме с несколькими кольцами:
Первое кольцо - IT-команда и технические специалисты клиента. Машины обновляются в первую очередь. Неделя в рабочем режиме даёт реалистичную картину проблем именно в среде клиента, с его набором приложений и периферии. Замалчивать проблемы некому - команда сама заинтересована в том, чтобы их выявить.
Второе кольцо - пилотная группа из разных отделов. 10-15% парка, добровольцы из разных подразделений. Цель - поймать бизнес-специфичный софт, который не вскрылся на IT-команде. Бухгалтерские конфигурации, специализированный клиент-банк, самописные формы на VBA - всё это проявляется здесь.
Третье кольцо - массовый rollout. К этому моменту известны все проблемы, которые удалось поймать на пилоте, и есть ответы на типовые вопросы для службы поддержки.
Технически переход управляется через Windows Update for Business deployment rings в Intune или через WSUS-группы в классической инфраструктуре. В WUfB на уровне политики выставляется FeatureUpdatesDeferral в днях для каждого кольца - первое кольцо без defer, второе +14 дней, третье +28.
# Через Intune Graph API - установить deferral для группы устройств
# Через GPO - та же настройка:
# Computer Configuration > Administrative Templates > Windows Components
# > Windows Update > Windows Update for Business
# > Select when Preview Builds and Feature Updates are received
Что реально ломается
По опыту первых недель тестирования несколько вещей стабильно создают проблемы.
Старые драйверы для корпоративной периферии. Принтеры и сканеры с драйверами 5-7-летней давности. Производитель не обновлял драйвер под Windows 11, inbox-драйвер не работает с конкретной моделью. Решается либо поиском обходного пути, либо заменой оборудования - и это нужно знать заранее.
VPN-клиенты. Часть корпоративных VPN-клиентов конфликтует с изменениями в сетевом стеке Windows 11. Это не универсально, зависит от конкретного клиента и версии. Но стоит проверить именно VPN в первом кольце.
Интерфейсные изменения, за которые прилетает. Новый Start Menu без групп приложений, перемещение кнопок в Taskbar по центру - для пользователей это стресс. Это не техническая проблема, но нагрузка на поддержку вполне реальная. Заготовленный FAQ и короткий гайд «что изменилось» снижают поток тикетов.
Где сейчас
На данный момент мы прошли первое кольцо у одного из клиентов на managed-сопровождении. Серьёзных проблем не вылезло - парк относительно свежий, основная периферия от известных производителей с нормальными циклами обновления драйверов. Один специфичный VPN-клиент потребовал обновления версии, что было запланировано ещё до Windows 11. VBA-формы в Excel прошли без замечаний.
Второе кольцо начинаем через неделю. Там будет интереснее - в пилот включены финансовый отдел и несколько пользователей со специализированным ПО. Посмотрим, что вскроется.
Главный вывод на этот момент: те, кто сделал аудит железа заранее и знает свой парк, катятся без спешки и с контролем. Те, кто не делал - сейчас в режиме пожара, и это можно было избежать.