У меня 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 и перестроил их, но ошибка все еще возникает.
Несмотря на то, что это новая сборка, если вы переносите данные с помощью экспорта / импорта wsusutil.exe, то технически это можно рассматривать как неработающую установку WSUS вместо новой сборки.
Ссылаясь на https://docs.microsoft.com/de-de/security-updates/windowsupdateservices/18127395 , я бы использовал команду wsusutil.exe reset , которая
Проверяет, что каждая строка метаданных обновления в базе данных имеет соответствующие файлы обновления, хранящиеся в файловой системе. Если файлы обновлений отсутствуют или повреждены, WSUS снова загружает файлы обновлений.
Этот шаг указан как для:
Кроме того, из того же Microsoft статья, у нас есть
Вы можете использовать xcopy, утилиту резервного копирования или другие методы, не относящиеся к WSUS, для копирования файлов обновлений из старого местоположения в новое. Если вы копируете файлы с помощью метода, отличного от WSUSutil.exe, вам все равно необходимо запустить WSUSutil.exe для выполнения второй части перемещения. В этом случае вы должны использовать параметр skipcopy при запуске WSUSutil.exe.
wsusutil movecontent contentpath файл журнала -skipcopy где
contentpath - это новый корень для файлов содержимого. Путь должен существовать.
и
файл журнала - это путь и имя файла журнала, который нужно создать.
Итак, после просмотра всего, что я нашел в консоли, выяснилось, что она пытается загрузить лицензионные соглашения для отключенных обновлений. Вот что я сделал дальше:
wsusutil reset
и повторно загрузил содержимое Теперь он работает. Похоже, что что-то в IIS могло быть причиной проблемы и, возможно, это был случайный ключ реестра для продуктов.