WSUS не синхронизируется с сервером Microsoft
WSUS простая и довольно надёжная система, но как и у любой системы, у нее тоже бывают сбои. Один из вариантов – WSUS перестает синхронизироваться с сервером Microsoft и как следствие не получает обновления. и выдает ошибку:
TypeInitializationException: Инициализатор типа “Microsoft.UpdateServices.ServerSyncWebServices.ServerSync.ServerSyncProxy” выдал исключение. —> System.Net.WebException: Сбой запроса с состоянием HTTP 404: Not Found.
в Microsoft.UpdateServices.Internal.ClassFactory.CreateInstance(Type type, Object[] args)
в Microsoft.UpdateServices.ServerSync.ServerSyncLib.GetWebServiceProxyInternal(UpdateServerConfiguration serverConfig, WebServiceCommunicationHelper webServiceHelper, Boolean useCompressionProxy)
в Microsoft.UpdateServices.ServerSync.ServerSyncLib.GetWebServiceCompressionProxy(UpdateServerConfiguration serverConfig, WebServiceCommunicationHelper webServiceHelper)
в Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.RetrieveSubscriptionData()
в Microsoft.UpdateServices.ServerSync.CatalogSyncAgentCore.ExecuteSyncProtocol(Boolean allowRedirect)
И что бы вы не делали ничего не выходит. Как правило время от времени у WSUS бывает такой заскок. Не знаю что является виной такому безобразию, но долго копаясь на форумах и на просторах интернета я нашел эффективное решение.
- Запускаем командную строку с Повышением прав до админа
- Выполняем следующие команды:
1 2 3 4 5 6 | c:\Program Files\Update Services\Tools\wsusutil.exe configuressl net stop wsusservice net start wsusservice net stop bits net start bits iisreset |
В результате, следующая синхронизация WSUS пройдет удачно.
После некоторых наблюдений я выяснил, что раз в пол года, иногда чаще, иногда реже происходит какой-то глюк и WSUS перестает синхронизироваться с сервером майкрософт или с вышестоящим сервером. Чтобы автоматизировать процесс и не дурить себе голову, я поступил проще, написав батник:
1 2 3 4 5 6 7 8 9 10 11 | c:\Program Files\Update Services\Tools\wsusutil.exe configuressl ping 127.0.0.1 -n 20 net stop wsusservice ping 127.0.0.1 -n 20 net start wsusservice ping 127.0.0.1 -n 20 net stop bits ping 127.0.0.1 -n 20 net start bits ping 127.0.0.1 -n 20 iisreset |
После этого, настроил планировщик на событие, когда появляется ошибка синхронизации в логах. В итоге, как только WSUS перестает синхронизироваться с вышестоящими серверами или серверами Microsoft, планировщик запустит батник и проблема снова будет решена.
Зачем в батнике пинги? Все просто, командный язык на котором написан батник не имеет команды sleep. В качестве ее замены используется команда ping с параметром -n после которого идет число пингов. Пинги идут раз в секунду