WSUS: управление обновлениями Windows в организации

WSUS управление обновлениями Windows в организации

WSUS (Windows Server Update Services) это бесплатная роль Windows Server, которая позволяет централизованно загружать, тестировать и распределять обновления Microsoft по компьютерам в локальной сети. Вместо того чтобы каждый ПК качал обновления из интернета, всё проходит через один сервер.

Зачем нужен WSUS

Короче, вот реальная проблема. У вас 50 компьютеров в офисе. Каждый из них ходит в интернет на серверы Microsoft и качает обновления. Это 50 компьютеров, каждый скачивает один и тот же патч размером 500 МБ. Итого 25 ГБ трафика на одно обновление. А обновления выходят каждый месяц.

WSUS решает это элегантно. Сервер качает обновление один раз. Все 50 компьютеров получают его из локальной сети. Трафик на интернет-канал минимальный.

Но экономия трафика это только начало. Вот в чём прикол: WSUS даёт вам контроль. Вы решаете, какие обновления ставить, а какие нет. Вы можете протестировать обновление на пилотной группе перед раскаткой на всю организацию. И если обновление ломает что-то (а такое бывает, кстати, регулярно), вы просто не одобряете его.

Мой знакомый Павел работает админом в логистической компании. У них 80 рабочих станций (в основном Lenovo ThinkCentre M70s на i5-10400) и парочка серверов. Однажды Microsoft выкатила обновление, которое сломало работу с принтерами. Компании без WSUS получили его автоматически и остались без печати. А Павел увидел проблему в новостях, заблокировал обновление в WSUS и спокойно дождался фикса. По факту, WSUS спас ему нервы и два рабочих дня.

Установка WSUS

Установить WSUS можно через Server Manager. Это роль Windows Server, дополнительного ПО не нужно.

Требования:

  • Windows Server 2016 или новее
  • Минимум 10 ГБ свободного места (а лучше 100+ ГБ, обновления занимают много места)
  • SQL Server или встроенная база Windows Internal Database (WID)
  • Минимум 4 ГБ RAM (8 ГБ рекомендуется)
  • Подключение к интернету для синхронизации с Microsoft
# Установка роли WSUS с хранилищем на диске D:
Install-WindowsFeature -Name UpdateServices -IncludeManagementTools

# После установки запускаем пост-установочную настройку
# Указываем папку для хранения обновлений
& "C:Program FilesUpdate ServicesToolswsusutil.exe" postinstall CONTENT_DIR=D:WSUS
# Папка D:WSUS будет хранить все загруженные обновления
# Не ставьте на системный диск, места не хватит

# Проверяем, что WSUS установлен корректно
Get-WindowsFeature UpdateServices*

После установки откройте консоль WSUS (Update Services) и пройдите мастер первоначальной настройки. Там нужно выбрать:

  • Откуда качать обновления (напрямую с Microsoft или с вышестоящего WSUS)
  • Какие продукты обновлять (Windows 10, Windows 11, Office, Server)
  • Какие классификации нужны (критические обновления, обновления безопасности, пакеты обновлений)
  • Расписание синхронизации

Если честно, при первой синхронизации WSUS скачает огромный каталог обновлений. Это может занять несколько часов. Не паникуйте, это нормально.

WID или SQL Server: что выбрать для базы

Тут такое дело. WSUS хранит метаданные об обновлениях в базе данных. Есть два варианта:

ПараметрWID (бесплатная)SQL Server
СтоимостьБесплатноНужна лицензия SQL Server
ПроизводительностьДостаточна до 500 ПКЛучше для 500+ ПК
УправлениеМинимальноеПолный контроль (бэкапы, обслуживание)
Удалённый доступТолько локальноМожно вынести на отдельный сервер

На самом деле для организаций до 200-300 компьютеров WID хватает. Не усложняйте инфраструктуру без необходимости. SQL Server имеет смысл, когда база WSUS начинает тормозить (а это случается при 500+ клиентах и нескольких годах обновлений).

Настройка клиентов через GPO

Установить WSUS мало. Нужно ещё сказать компьютерам, чтобы они ходили за обновлениями на ваш сервер, а не в интернет.

Делается это через групповые политики. Создайте новую GPO и настройте:

Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Update

  • «Specify intranet Microsoft update service location» = Enabled, указать http://wsus-server:8530
  • «Configure Automatic Updates» = Enabled, вариант 4 (Auto download and schedule the install)
  • «No auto-restart with logged on users» = Enabled (чтобы компы не перезагружались, когда за ними работают)
  • «Allow Automatic Updates immediate installation» = Enabled (критические обновления ставятся сразу)

Грубо говоря, порт 8530 это порт по умолчанию для WSUS на HTTP. Если настроили HTTPS, используйте порт 8531.

# Проверяем, что клиент видит WSUS-сервер
# Запускаем на клиентской машине
wuauclt /detectnow /reportnow

# В PowerShell можно проверить настройки
Get-ItemProperty "HKLM:SOFTWAREPoliciesMicrosoftWindowsWindowsUpdate" |
    Select-Object WUServer, WUStatusServer

# Принудительная проверка обновлений через PowerShell
(New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow()

Одобрение обновлений

Главная фишка WSUS в том, что обновления не ставятся автоматически (если вы сами так не настроите). Каждое обновление нужно одобрить.

В консоли WSUS перейдите в раздел Updates. Там вы увидите все доступные обновления. Можно фильтровать по продукту, классификации, статусу одобрения.

Для каждого обновления можно выбрать:

  • Approved (Install) одобрить для установки
  • Not Approved пока не одобрено, клиенты не получат
  • Declined отклонено, не будет предлагаться

Знаете что? Ваш рабочий процесс должен быть такой: вышли обновления, вы их одобряете для тестовой группы, ждёте неделю. Ничего не сломалось? Одобряете для всех. Сломалось? Отклоняете и ждёте фикс. Это классический подход к управлению обновлениями, и он работает годами.

Группы компьютеров в WSUS

В WSUS можно создавать группы компьютеров. Это нужно как раз для поэтапной раскатки обновлений.

Типичная структура:

  • Test пилотная группа (5-10 компьютеров IT-отдела)
  • Production все остальные рабочие станции
  • Servers серверы (обновляются в последнюю очередь)
  • Critical машины, которые обновляются первыми (если вы хотите обратный порядок)

Всегда ставьте обновления сначала на свои компы. Если обновление сломает что-то, вы узнаете первыми и успеете отреагировать, прежде чем проблема затронет весь офис. Кстати, можно настроить автоматическое распределение по группам через GPO, чтобы не добавлять каждый новый компьютер вручную.

Обслуживание WSUS

WSUS требует регулярного обслуживания. Без него база данных разрастается, консоль начинает тормозить, диск забивается старыми обновлениями.

# Очистка WSUS: удаление устаревших обновлений и компьютеров
Invoke-WsusServerCleanup -CleanupObsoleteUpdates -CleanupUnneededContentFiles -CompressUpdates
# Запускайте эту команду раз в месяц
# Она освободит место на диске и ускорит работу консоли

# Полная очистка (включая старые компьютеры и замены)
Invoke-WsusServerCleanup `
    -CleanupObsoleteUpdates `
    -CleanupUnneededContentFiles `
    -CompressUpdates `
    -DeclineExpiredUpdates `
    -DeclineSupersededUpdates `
    -CleanupObsoleteComputers

# Переиндексация базы данных WID (если тормозит)
# Скачайте скрипт SusDbMaintenance.sql с сайта Microsoft
sqlcmd -S np:\.pipeMicrosoft##WIDtsqlquery -i SusDbMaintenance.sql

А ещё, WSUS это один из тех инструментов, который легко установить и забыть. А потом через год обнаружить, что база данных весит 50 ГБ и консоль открывается 5 минут. Не забывайте про обслуживание. Запланируйте в календаре ежемесячную задачу.

Мой коллега Роман (он администрирует сеть в медицинской организации, основной сервер HPE ProLiant ML350 Gen10 с Xeon Bronze 3204) однажды запустил очистку WSUS после года без обслуживания. Освободилось 120 ГБ дискового пространства. Консоль стала открываться за секунды вместо минут. Вот в чём прикол: одна команда PowerShell вернула серверу нормальную скорость работы.

Альтернативы WSUS

А ещё стоит упомянуть, что WSUS не единственный вариант. Есть SCCM/MECM (более мощный, но и более сложный), есть сторонние решения типа ManageEngine Patch Manager Plus или Ivanti. Ну и для облачных инфраструктур есть Windows Update for Business.

РешениеСтоимостьСложностьДля кого
WSUSБесплатно (входит в Windows Server)СредняяДо 500-1000 ПК
SCCM/MECMПлатно (+ лицензии)Высокая1000+ ПК
Windows Update for BusinessВходит в Windows Pro/EnterpriseНизкаяОблачные компании
ManageEngineПлатноСредняяМультивендорные среды

На самом деле WSUS бесплатен (входит в Windows Server), прост в настройке и закрывает потребности большинства организаций до 500-1000 компьютеров. Для работы WSUS нужна лицензия Windows Server, которую можно приобрести на keytrust24.store. Этого достаточно, дополнительных лицензий именно для WSUS не требуется.

WSUS и Windows 11: нюансы

Знаете что? С Windows 11 у WSUS появились некоторые особенности, о которых стоит знать.

Windows 11 использует новый формат обновлений (UUP), и WSUS должен быть обновлён для корректной работы. Убедитесь, что на сервере установлены последние обновления для роли WSUS. Без них клиенты на Windows 11 могут не получать обновления вовсе.

А ещё Windows 11 более агрессивно проверяет наличие обновлений. Если клиент не может связаться с WSUS-сервером, он может попытаться обойти его и скачать обновления напрямую с Microsoft. Это поведение можно заблокировать через GPO («Do not connect to any Windows Update Internet locations»), но тогда при недоступности WSUS клиенты останутся без обновлений совсем.

Советы из практики

Напоследок, несколько советов от админов, которые работают с WSUS годами:

  • Всегда тестируйте обновления на пилотной группе минимум 5-7 дней перед раскаткой на всех
  • Подписывайтесь на рассылки Microsoft о проблемных обновлениях (бывают KB, которые ломают принтеры, VPN, производительность)
  • Держите отдельный диск для хранилища обновлений, системный диск заполнится за пару месяцев
  • Настройте автоматическое одобрение для обновлений определений антивируса (они безопасны и критичны)
  • Создайте отчёт о статусе обновлений и показывайте руководству раз в месяц (вас будут меньше дёргать по мелочам)

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

WSUS и отчётность

Кстати, WSUS умеет генерировать отчёты. В консоли перейдите в раздел Reports. Там можно посмотреть:

  • Какие компьютеры не обновлялись дольше 30 дней (эти машины потенциально уязвимы)
  • Процент установки конкретного обновления по группам
  • Список обновлений, ожидающих одобрения
  • Статистику ошибок установки

Для работы отчётов нужен Microsoft Report Viewer. Если при открытии отчёта появляется ошибка, скачайте и установите Report Viewer Redistributable с сайта Microsoft. Звучит как мелочь, но без этого компонента отчёты просто не откроются.

Тут такое дело: хороший админ не просто ставит обновления, а следит за статистикой. Если 5% компьютеров в организации не обновились за месяц, это повод разобраться. Может, у них проблемы с сетью, или они выключены, или на них повреждён агент обновлений. WSUS покажет эти проблемы в отчёте, если вы будете туда заглядывать.

Диагностика проблем с WSUS-клиентами

Знаете что? Самая частая проблема с WSUS: клиент не отображается в консоли или не получает обновления. Вот как это диагностировать.

# На проблемном клиенте запускаем диагностику
# Проверяем, видит ли клиент WSUS-сервер
Get-ItemProperty "HKLM:SOFTWAREPoliciesMicrosoftWindowsWindowsUpdate" | Select-Object WUServer, WUStatusServer

# Принудительная перерегистрация на WSUS
wuauclt /resetauthorization /detectnow

# Если не помогло, сбрасываем агент полностью
net stop wuauserv
rd /s /q %windir%SoftwareDistribution
net start wuauserv
wuauclt /detectnow /reportnow

# Проверяем лог Windows Update на ошибки
Get-WindowsUpdateLog

Мой товарищ Антон из Красноярска (у него в сети 120 машин, в основном HP EliteDesk 800 G5 на i7-9700) столкнулся с ситуацией, когда 15 компьютеров «пропали» из консоли WSUS. Оказалось, после обновления Windows на клиентах слетел ID агента, и они перестали отчитываться. Помог сброс SusClientId через реестр:

REM Сброс ID клиента WSUS (на проблемном ПК от администратора)
net stop wuauserv
reg delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdate" /v SusClientId /f
reg delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdate" /v SusClientIdValidation /f
net start wuauserv
wuauclt /resetauthorization /detectnow

По факту, после этих команд клиент заново зарегистрируется на WSUS-сервере и появится в консоли в течение нескольких часов. Если честно, проблемы с агентом обновлений встречаются чаще, чем хотелось бы. Держите этот скрипт под рукой.

Планирование ресурсов для WSUS-сервера

Вот в чём прикол: WSUS может работать годами на слабом сервере, а потом внезапно начать тормозить. Обычно это происходит, когда база данных разрастается или количество клиентов превышает возможности железа.

Рекомендации по железу:

  • До 100 клиентов: 4 ГБ RAM, 2 ядра, 200 ГБ на диске для обновлений
  • 100-500 клиентов: 8 ГБ RAM, 4 ядра, 500 ГБ SSD для обновлений
  • 500+ клиентов: 16 ГБ RAM, 8 ядер, SQL Server Standard вместо WID, 1 ТБ SSD

Короче, не экономьте на дисковом пространстве. Обновления накапливаются быстро. За год работы WSUS легко набирает 150-200 ГБ контента. А если вы синхронизируете обновления для нескольких продуктов (Windows 10, Windows 11, Office, Server), место заканчивается ещё быстрее.

# Мониторинг свободного места на диске WSUS
$drive = Get-PSDrive D
$freeGB = [math]::Round($drive.Free / 1GB, 2)
if ($freeGB -lt 20) {
    Write-Warning "WSUS: на диске D: осталось только $freeGB ГБ! Запустите очистку."
    # Автоматическая очистка при нехватке места
    Invoke-WsusServerCleanup -CleanupUnneededContentFiles -DeclineExpiredUpdates
}

На самом деле, в крупных сетях WSUS можно развернуть иерархически: один upstream-сервер синхронизирует обновления с Microsoft, а downstream-серверы в филиалах получают обновления от него. Это экономит интернет-канал и позволяет администратору в центральном офисе управлять одобрением обновлений для всех филиалов из одной консоли.