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

Сервер WSUS не видит локальный контент

У меня Windows Server 2019 работает как сервер WSUS. Я просто перестроил его из-за некоторых проблем с подключением к базе данных при переходе с одного сервера на другой. Итак, это новая установка. Он не подключен к Интернету, так как я экспортировал данные с одного компьютера и импортировал их на этот. После импорта я запустил сценарий Clean-WSUS от Адама. Я одобрил 3 обновления.

Теперь в статусе загрузки указано 0,00 МБ или 531,00 МБ.

Это было так уже полчаса, а он все еще не видит файлы. Я переместил содержимое в папку содержимого, но он все еще не видит его. Что-нибудь, что я могу проверить, чтобы понять, почему он не видит контент?

Журналы показывают, что есть ошибки SOAP ErrorCode = InvalidCookie в некоторых виртуальных пулах, например ClientAuth в некоторых других.

ОБНОВЛЕНИЕ 1 Нашел это в журнале распространения программного обеспечения.

2020-02-20 14:45:14.214 UTC Warning w3wp.183    SoapUtilities.CreateException   ThrowException: actor = http://WSUS-SERVER:8530/ClientWebService/client.asmx, ID=e37f37f0-72c8-4184-ba99-1abfd451e4fa, ErrorCode=InvalidCookie, Message=, Client=?
2020-02-20 14:50:10.581 UTC Warning w3wp.517    SoapUtilities.CreateException   ThrowException: actor = http://WSUS-SERVER:8530/ClientWebService/client.asmx, ID=f0c77d21-4a7b-49f8-9cb1-7c22e25dc0d8, ErrorCode=ConfigChanged, Message=, Client=0f080754-49b3-46f1-ab1e-c318bfe38998
2020-02-20 14:50:17.831 UTC Info    w3wp.1220   ThreadEntry ThreadPoolWorkQueue.Dispatch
2020-02-20 14:50:17.831 UTC Warning w3wp.1220   DBConnection.OnReceivingInfoMessage  The join order has been enforced because a local join hint is used.
2020-02-20 14:50:17.847 UTC Info    w3wp.201    ThreadEntry TimerQueue.FireNextTimers
2020-02-20 14:50:17.847 UTC Warning w3wp.201    DBConnection.OnReceivingInfoMessage  The join order has been enforced because a local join hint is used.
2020-02-20 15:11:48.047 UTC Warning w3wp.554    SoapUtilities.CreateException   ThrowException: actor = http://WSUS-SERVER:8530/ClientWebService/client.asmx, ID=e83449d7-7a9e-4104-9eed-e632b6a6a495, ErrorCode=ConfigChanged, Message=, Client=3aee7b99-3cc6-47a6-8a86-c0056488f3a6
2020-02-20 15:13:27.902 UTC Info    w3wp.1469   ThreadEntry ThreadPoolWorkQueue.Dispatch
2020-02-20 15:13:27.902 UTC Warning w3wp.1469   DBConnection.OnReceivingInfoMessage  The join order has been enforced because a local join hint is used.
2020-02-20 15:20:49.611 UTC Warning w3wp.656    UnencryptedCookieData.Deserialize   Argument exceptioninvalid header
Parameter name: bytes
2020-02-20 15:20:49.626 UTC Warning w3wp.656    EncryptionHelper.DecryptData    Argument exceptionMicrosoft.UpdateServices.Internal.Authorization.LoggedArgumentException: invalid header
Parameter name: bytes
   at Microsoft.UpdateServices.Internal.Authorization.UnencryptedCookieData.Deserialize(Byte[] bytes)
   at Microsoft.UpdateServices.Internal.Authorization.EncryptionHelper.DecryptData(Byte[] cookieData)
Parameter name: cookieData
2020-02-20 15:20:49.626 UTC Warning w3wp.656    SoapUtilities.CreateException   ThrowException: actor = http://WSUS-SERVER:8530/ClientWebService/client.asmx, ID=1313dd75-59e9-4db0-a18f-bf59e7d7ca52, ErrorCode=InvalidCookie, Message=, Client=?

Обратите внимание, что для всех пулов виртуальных приложений написано InvalidCookie. Я также разорвал WSUS и IIS и перестроил их, но по-прежнему возникает эта ошибка.

Итак, после просмотра всего, что я нашел в консоли, выяснилось, что она пытается загрузить лицензионные соглашения для отключенных обновлений. Вот что я сделал дальше:

  1. Я снова разобрал компоненты WSUS и IIS.
  2. Удалил веб-страницу и сохранил БД.
  3. Я вернулся к исходному серверу WSUS и сделал wsusutil reset и повторно загрузил контент
  4. Я вернулся и переустановил WSUS с IIS.
  5. Повторно загрузил контент.
  6. Отметил параметры, чтобы убедиться, что я загружаю только обновления и продукты на английском языке, которые мне нужны.

Сейчас работает. Похоже, что что-то с IIS могло вызвать проблему и, возможно, неправильный ключ реестра для продуктов.

Несмотря на то, что это новая сборка, если вы переносите данные с помощью экспорта / импорта wsusutil.exe, то технически это можно рассматривать как неработающую установку WSUS, а не новую сборку.

Ссылка https://docs.microsoft.com/de-de/security-updates/windowsupdateservices/18127395, Я бы использовал wsusutil.exe сбросить команда, которая

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

Этот шаг указан как:

  • После восстановления базы данных WSUS.
  • При устранении неполадок

Кроме того, из той же статьи Microsoft у нас есть

Вы можете использовать xcopy, утилиту резервного копирования или другие методы, не относящиеся к WSUS, для копирования файлов обновлений из старого местоположения в новое. Если вы копируете файлы с помощью метода, отличного от WSUSutil.exe, вам все равно нужно запустить WSUSutil.exe для выполнения второй части перемещения. В этом случае вы должны использовать параметр skipcopy при запуске WSUSutil.exe.

wsusutil movecontent contentpath файл журнала -skipcopy где

Contentpath это новый корень для файлов содержимого. Путь должен существовать.

и

лог-файл - это путь и имя создаваемого файла журнала.