Назад | Перейти на главную страницу

Windows Server 2016 не обновляется через WSUS

У нас есть сервер WSUS, работающий на Windows Server 2016. WSUS обнаруживает и отправляет обновления во все системы, включая серверы 2012 года. WSUS обнаружит, но не отправит обновления ни на один из серверов 2016.

Он показывает 0 необходимых обновлений, все обновления показывают «установлено или неприменимо». Это свежие установки сервера, они только что были установлены прямо с образа диска, созданного в ноябре прошлого года.

Если я запускаю отчет на одном из серверов и устанавливаю фильтр продукта на «Windows Server 2016», я получаю 31 обновление, установленное или неприменимое.

Все 31 обновление настроено на утверждение «Установить». Все они имеют статус «Неприменимо». Все они являются критическими обновлениями и обновлениями безопасности.

Я вручную просмотрел установленные обновления на одном из рассматриваемых серверов и убедился, что эти «неприменимые» обновления не установлены.

Все эти серверы являются свежими установками, и они находятся в подразделении, которое не позволяет им перезапускаться после установки обновления, и я единственный, кто перезапускает их вручную. С момента установки они получили 0 обновлений. Мне трудно поверить, что для новой установки Windows Server 2016 есть 0 применимых обновлений.

Я убедился, что BITS и службы Windows Update работают. Я запустил wuauclt / reportnow и wuauclt / detectnow. Кажется, это ничего не делает. Я запустил мастер очистки, чтобы отклонить и удалить все замененные обновления. Я убедился, что машины находятся в правильных группах в AD и в WSUS. Я проверил в реестре на затронутых машинах, что они указывают на сервер WSUS, и его можно проверить. Клиент может быть отправлен с сервера WSUS. Нет ни брандмауэра, ни блокиратора портов, ни чего-то подобного. Я создал совершенно новую установку сервера 2016 года, на которой абсолютно ничего не было установлено; ни ролей, ни брандмауэров, ни антивирусного сканера ничего, просто пустой сервер и пытался заставить его подключиться. WSUS обнаруживает, что сервер существует, но это все.

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

Кто-нибудь знает, что может быть причиной проблемы и как ее исправить?

Спасибо.

РЕДАКТИРОВАТЬ - ОБНОВЛЕНИЕ: все еще есть проблемы. Пытался установить второй сервер WSUS 2016 года, такая же проблема, только с серверами 2016 года.

Я даже пробовал установить сервер 2019 (правда, не думаю, что есть какие-то отличия ...). Нет разницы.

Я даже исключил групповую политику. Я поместил тестовый сервер 2016 года в отдельное подразделение с заблокированным наследованием. Единственный объект групповой политики, который я связал, - это настройка сервера WSUS, указывающая на сервер 2019 года. Никакой другой политики для машины нет. На тестовом сервере 2016 нет даже антивирусного сканера или брандмауэра, они даже находятся в одном сегменте.

Мы конвертируем все больше и больше наших серверов в период с 2012 по 2016 год, что означает, что это становится все более и более серьезной проблемой, поскольку НИ ОДИН из них не будет получать обновления от WSUS ... Как бы я ни не хотел, у меня будет позвонить в Microsoft ...

Хорошо, проведя 3 недели с отделом технической поддержки Microsoft, мы решили проблему.

Проблема заключается в том, что двойное сканирование пытается подключиться к Центру обновления Windows (онлайн) и не работает. В случае сбоя система просто прекращает попытки и отказывается подключаться к WSUS.

Дополнительная проблема заключается в том, что на установочном носителе сервера есть ошибка, которая не позволяет изменить двойное сканирование. Он просто игнорирует политику и сохраняет источник обновлений по умолчанию Центр обновления Windows.

Вот что вам нужно сделать, чтобы это исправить: Выполните следующие команды в Powershell на сервере-нарушителе.

$MUSM = New-Object -ComObject "Microsoft.Update.ServiceManager"
$MUSM.Services | select Name, IsDefaultAUService

Вы получите что-то вроде этого:

Windows Update Standalone Installer - False   
Windows Server Update Service - False   
Windows Update - True

Если там написано «Центр обновления Windows - Верно», то это ваш источник по умолчанию, независимо от того, что говорит ваш GPO ...

Первое, что вам нужно сделать, это убедиться, что на вашем сервере установлены следующие патчи.

kb4103720 и kb4462928

Они нужны вам ОБЕИ. Они оба огромны, на их установку уходит целая вечность и день, и оба требуют перезагрузки сервера.

Эти КБ устраняют проблему двойного сканирования, поэтому сервер будет отвечать на объект групповой политики, сообщая ему, какой источник по умолчанию использовать.

Теперь вам нужно настроить групповую политику, чтобы сервер использовал только сервер WSUS. Согласно Microsoft, это обязательные настройки (я сомневаюсь в некоторых из них, но я не тестировал каждую из них ... Я просто счастлив, что эта штука, наконец, работает)

Конфигурация компьютера> Политики> Административные шаблоны> Система> Установка устройства

Укажите сервер поиска для расположения источников драйверов устройств

Set to "Enabled"  
Select search order: "Do not search Windows Update"

Укажите сервер поиска обновлений драйверов устройств

Set to "Enabled"  
Select Update Server: "Search Managed Server"

Конфигурация компьютера> Политики> Административные шаблоны> Система> Управление связью через Интернет> Настройки связи через Интернет

Отключите доступ ко всем функциям Центра обновления Windows (В Microsoftspeak это означает их онлайн-сервер, а не «сделать так, чтобы он не мог получать обновления»)

Set to "Enabled"

Отключить доступ к Магазину

Set to "Enabled"

Конфигурация компьютера> Политики> Административные шаблоны> Компоненты Windows> Центр обновления Windows

Не разрешать политикам отсрочки обновления вызывать сканирование Центра обновления Windows

Set to "Enabled"

Нет автоматического перезапуска с авторизованными пользователями для запланированных автоматических установок обновлений

Set to "Enabled"

Указать расположение службы обновлений Microsoft в интрасети

Set to "Enabled"  
Set the intranet update service for detecting updates: "http://[YOUR SERVER]:8530"  
Set the intranet statistics server:"http://[YOUR SERVER]:8530"  
Set the alternate download server: "http://[YOUR SERVER]:8530"  
Uncheck the box Download files with no Url in the metadata if alternate download server is set

Переместите серверы в OU с включенным GPO. Я создал отдельное подразделение в моем подразделении серверов только для сервера 2016 года и связал с ним этот объект групповой политики.

Снова выполните указанные выше команды PowerShell.

Теперь он должен сказать

 Name                                   IsDefaultAUService    
-------                                 --------------------------  
Windows Server Update Service              True  
Windows Update                             False

Если вы получите "Windows Server Update Service" True, то должно работать!

Надеюсь, это поможет кому-то другому. Это определенно разочаровывает ...

Я принимаю пожертвования купюрами без опознавательных знаков, золотыми слитками и скотчем.

Если вы просканируете Интернет, вы увидите, что @ Redwizard000 пытался предложить, так что ясно, что @ Redwizard000 очень старался решить эту проблему (см. https://serverfault.com/a/940236/203726 о том, как @ Redwizard000 в конечном итоге решил проблему). Читайте мой опыт:

В моем случае сервер WSUS работал на Windows Server 2012 R2, имел все исправления, запускал скрипт очистки VB, который вы видите плавающим, прошел процесс очистки (который занял часы), мог обслуживать обновления для компьютеров с Windows 10, но новые клиентские машины Windows Server 2016 не могли получать обновления из WSUS и выдавали сообщения об ошибках 0x8024401c. Единственное, что помогло, было на сервере WSUS: увеличение / удаление некоторых ограничений ресурсов пула приложений IIS (например, длина очереди, ограничение интервала, ограничение частной памяти, но есть и другие) для пула приложений WSUS, как описано в https://serverfault.com/a/835941 и https://blogs.msdn.microsoft.com/the_secure_infrastructure_guy/2015/09/02/windows-server-2012-r2-wsus-issue-clients-cause-the-wsus-app-pool-to-become-unresponsive- с-http-503 / а затем перезапустите IIS. Похоже, что проверка обновлений требовала около 2 ГБ памяти с сервера IIS и занимала около 8 минут. После этого сообщение об ошибке исчезло, но ...

... клиентские машины с Windows Server 2016 зависали при загрузке 0% обновлений на неопределенный срок. Чтобы обойти это, мне пришлось вручную загрузить недавнее накопительное обновление (на клиентских машинах Windows Server 2016) из http://www.catalog.update.microsoft.com/home.aspx (или временно используйте серверы обновлений Windows Microsoft для получения накопительного обновления) и установите это перед изменение настроек для использования WSUS.

Обновить: Есть статья поддержки MS под названием "Центр обновления Windows завис на уровне 0 процентов в Windows 10 или Windows Server 2016", в котором рассказывается о том, как вам нужно обновить агент обновления Windows на клиентских машинах с Windows 10/2016/2019 до версии RTM (10.0.14393.0) перед вы можете использовать WSUS. Похоже на то, что фактически было сделано в предыдущем абзаце.

У меня была такая проблема, 2016 выдала бы ошибку: 0x8024401c, а в WSUS будет отображаться 0% updated (not reported yet).

Чтобы исправить это, я изменил значения пула приложений WSUS в IIS (Advanced Settings) и на всех серверах 2016 года.

Queue Length: 25000 from 1000
Limit Interval (minutes): 15 from 5
"Service Unavailable" Response: TcpLevel from HttpLevel

Затем перейдите в https://community.spiceworks.com/scripts/show/2998-adamj-clean-wsus и скопируйте и вставьте код в соответствии с инструкциями.

  1. Назови это Clean-WSUS.ps1
  2. Установите необходимое программное обеспечение
  3. Бегать .\Clean-WSUS.ps1 -FirstRun
  4. В заключение, .\Clean-WSUS.ps1 -DirtyDatabaseCheck

Этот парень определенно заслуживает пожертвования!

Та же проблема, тот же сценарий. Снимите флажок «Обновления» в разделе «Классификация» для конфигураций точек обновления программного обеспечения серверов сайта.

Другое предложение заключалось в том, чтобы сделать командную строку

«c: \ Program Files \ Update Services \ Tools \» «wsusutil.exe после установки / обслуживания»

Но я еще не прошел через этот процесс, так как жду дополнительных объяснений от MS.

У меня была такая же проблема, вот как я ее исправил.

  1. В политике (будь то групповая политика или локальная политика) включите политику «Не подключаться ни к каким расположениям Центра обновления Windows». Это не позволяет серверу связываться с Microsoft / Windows Update.
  2. В политике добавлен альтернативный сервер обновлений в поле «Указать расположение Центра обновления Майкрософт» - это тот же сервер, что и сервер отчетов и обновлений.
  3. В Центре обновления Windows - Дополнительные параметры - сняли флажок «отложить обновления функций».

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

Если у вас есть такая настройка в групповой политике, я бы посоветовал проверить раздел реестра [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]. Сделайте резервную копию ключа, удалите ее и запустите gpupdate /force воссоздать это.

В моем случае после сравнения резервной копии и новой записи я обнаружил ключ с именем "DisableWindowsUpdateAccess"=dword:00000000 это вызвало мою проблему. Этот ключ был создан третьей стороной.

На самом деле все, что вам нужно сделать, это обновить стек обслуживания. https://support.microsoft.com/en-us/help/4485447/servicing-stack-update-for-windows-10. Даже не требует перезагрузки. Как только вы это сделаете, он сразу же начнет отправлять отчеты в WSUS.