- Remove From My Forums
-
Вопрос
-
Здравствуйте.
Если клиент не отправляет отчет о своем состоянии или не появляется в консоли то на wsuswiki предлагают сделать вот это:
удалите клиента из wsus
- наберите и выполните в консоли (cmd) команду net stop wuauserv, чтобы остановить службу автоматического обновления (или воспользуйстесь оснасткой «Службы» в консоли администрирования);
- запустите regedit и перейдите в ветку реестра HKLMSOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdate
- удалите значения: PingID, AccountDomainSid, SusClientId, SusClientIDValidation (некоторых может не быть);
- неофициальная рекомендация: удалите всё содержимое папки %WinDir%SoftwareDistribution
- в консоли выполните команду net start wuauserv, чтобы запустить службу автоматического обновления (или воспользуйстесь оснасткой «Службы» в консоли администрирования);
- в консоли выполните команду wuauclt.exe /resetauthorization /detectnow и подождите минут 10, чтобы завершился цикл регистрации рабочей станции на сервере WSUS;
- неофициальная рекомендация: посмотрите результат в журнале %WinDir%SoftwareDistributionReportingEvents.log — если там написано «failed», то надо выполнить в консоли командуwuauclt.exe
/detectnow и повторить цикл ожидания-проверки. Обычно одного повтора достаточно, но может потребоваться и больше - в консоли WSUS убедитесь, что рабочая станция успешно зарегистрировалась.
Такой вопрос: можно ли сделать что-то на подобие этого прямо на сервере, только не подходя к клиенткой машине? Потому что у меня их 200 штук, некоторые не отправляют отчет о состоянии. А бегать по всем не хочется(
Ответы
-
Машина прислала отчет о состоянии через 6 дней простоя и начала загружать обновления. Не понимаю почему. В папке у меня уже было Spupdsvc.old так
что менять было нечего. Может надо было просто ждать дольше))-
Помечено в качестве ответа
25 ноября 2013 г. 13:36
-
Помечено в качестве ответа
21.06.2021 – Пожалуйста, ищите последнюю версию этого документа по ссылке Как починить Windows Update?
Обновлено 12.03.2021 – добавлен скрипт для восстановление доступов к реестру и системным папкам
Ранее, я уже писал, как сверить список компьютеров, которые есть в AD с теми, которые есть во WSUS. Если эти списки не совпадают, то у вас проблема и часть компьютеров не обновляется.
В самом простом случае, вы забыли сделать групповую политику, которая настраивает клиентские компьютеры и серверы на обновление со WSUS, или сконфигурировали ее так, что она не применяется. Ручная настройка параметров через gpedit.msc тоже допустима, но только для тех компьютеров, которые не входят в домен.
Итак, политика применяется, но все равно компьютер не обновляется. Что делать и как лечить?
Для простоты, выкладываю все эти скрипты в уже готовом виде: Wsus-fix
1. Первый скрипт самый простой, и, на самом деле, даже не для лечения используется, а для того, чтобы принудительно запустить проверку на обновление, ну и, заодно, чистит папку, в которой накапливаются дистрибутивы уже установленных обновлений:
wsus_detect_manual.cmd
net stop wuauserv && net stop bits && net stop cryptsvc
del /f /s /q %windir%SoftwareDistributiondownload*.*
net start wuauserv && net start bits && net start cryptsvc
wuauclt.exe /detectnow exit
2. Второй скрипт нужен для того, чтобы “оживить” неработающий сервис WSUS. В нем идет чистка от старых обновлений, после чего папки SoftwareDistribution и Catroot2 переименовываются, что при перезапуске сервиса приведет к их пересозданию. Затем системные dll библиотеки перерегистрируются.
fix_wsus_service.cmd
net stop bits
net stop wuauserv
net stop cryptsvc
del /f /s /q %windir%SoftwareDistributiondownload*.*
ren %systemroot%System32Catroot2 Catroot2.old
ren %systemroot%SoftwareDistribution SoftwareDistribution.old
REM del /f /s /q %windir%SoftwareDistribution*.*
del /f /s /q %windir%windowsupdate.log
%windir%system32regsvr32.exe /U /s %windir%system32vbscript.dll
%windir%system32regsvr32.exe /U /s %windir%system32mshtml.dll
%windir%system32regsvr32.exe /U /s %windir%system32msjava.dll
%windir%system32regsvr32.exe /U /s %windir%system32msxml.dll
%windir%system32regsvr32.exe /U /s %windir%system32actxprxy.dll
%windir%system32regsvr32.exe /U /s %windir%system32shdocvw.dll
%windir%system32regsvr32.exe /U /s %windir%system32Mssip32.dll
%windir%system32regsvr32.exe /U /s %windir%system32wintrust.dll
%windir%system32regsvr32.exe /U /s %windir%system32initpki.dll
%windir%system32regsvr32.exe /U /s %windir%system32dssenh.dll
%windir%system32regsvr32.exe /U /s %windir%system32rsaenh.dll
%windir%system32regsvr32.exe /U /s %windir%system32gpkcsp.dll
%windir%system32regsvr32.exe /U /s %windir%system32sccbase.dll
%windir%system32regsvr32.exe /U /s %windir%system32slbcsp.dll
%windir%system32regsvr32.exe /U /s %windir%system32cryptdlg.dll
%windir%system32regsvr32.exe /U /s %windir%system32Urlmon.dll
%windir%system32regsvr32.exe /U /s %windir%system32Oleaut32.dll
%windir%system32regsvr32.exe /U /s %windir%system32msxml2.dll
%windir%system32regsvr32.exe /U /s %windir%system32Browseui.dll
%windir%system32regsvr32.exe /U /s %windir%system32shell32.dll
%windir%system32regsvr32.exe /U /s %windir%system32Mssip32.dll
%windir%system32regsvr32.exe /U /s %windir%system32atl.dll
%windir%system32regsvr32.exe /U /s %windir%system32jscript.dll
%windir%system32regsvr32.exe /U /s %windir%system32msxml3.dll
%windir%system32regsvr32.exe /U /s %windir%system32softpub.dll
%windir%system32regsvr32.exe /U /s %windir%system32wuapi.dll
%windir%system32regsvr32.exe /U /s %windir%system32wuaueng.dll
%windir%system32regsvr32.exe /U /s %windir%system32wuaueng1.dll
%windir%system32regsvr32.exe /U /s %windir%system32wucltui.dll
%windir%system32regsvr32.exe /U /s %windir%system32wups.dll
%windir%system32regsvr32.exe /U /s %windir%system32wups2.dll
%windir%system32regsvr32.exe /U /s %windir%system32wuweb.dll
%windir%system32regsvr32.exe /s %windir%system32vbscript.dll
%windir%system32regsvr32.exe /s %windir%system32mshtml.dll
%windir%system32regsvr32.exe /s %windir%system32msjava.dll
%windir%system32regsvr32.exe /s %windir%system32msxml.dll
%windir%system32regsvr32.exe /s %windir%system32actxprxy.dll
%windir%system32regsvr32.exe /s %windir%system32shdocvw.dll
%windir%system32regsvr32.exe /s %windir%system32Mssip32.dll
%windir%system32regsvr32.exe /s %windir%system32wintrust.dll
%windir%system32regsvr32.exe /s %windir%system32initpki.dll
%windir%system32regsvr32.exe /s %windir%system32dssenh.dll
%windir%system32regsvr32.exe /s %windir%system32rsaenh.dll
%windir%system32regsvr32.exe /s %windir%system32gpkcsp.dll
%windir%system32regsvr32.exe /s %windir%system32sccbase.dll
%windir%system32regsvr32.exe /s %windir%system32slbcsp.dll
%windir%system32regsvr32.exe /s %windir%system32cryptdlg.dll
%windir%system32regsvr32.exe /s %windir%system32Urlmon.dll
%windir%system32regsvr32.exe /s %windir%system32Oleaut32.dll
%windir%system32regsvr32.exe /s %windir%system32msxml2.dll
%windir%system32regsvr32.exe /s %windir%system32Browseui.dll
%windir%system32regsvr32.exe /s %windir%system32shell32.dll
%windir%system32regsvr32.exe /s %windir%system32Mssip32.dll
%windir%system32regsvr32.exe /s %windir%system32atl.dll
%windir%system32regsvr32.exe /s %windir%system32jscript.dll
%windir%system32regsvr32.exe /s %windir%system32msxml3.dll
%windir%system32regsvr32.exe /s %windir%system32softpub.dll
%windir%system32regsvr32.exe /s %windir%system32wuapi.dll
%windir%system32regsvr32.exe /s %windir%system32wuaueng.dll
%windir%system32regsvr32.exe /s %windir%system32wuaueng1.dll
%windir%system32regsvr32.exe /s %windir%system32wucltui.dll
%windir%system32regsvr32.exe /s %windir%system32wups.dll
%windir%system32regsvr32.exe /s %windir%system32wups2.dll
%windir%system32regsvr32.exe /s %windir%system32wuweb.dll
net start bits
net start wuauserv
net start cryptsvc
wuauclt /detectnow
exit
3. Этот скрипт применяется в тех случаях, когда компьютер был недавно клонирован, или в тех, когда регистрации в WSUS у компьютера так и не произошло. Он отличается от предыдущего только предпоследней строчкой, в которой производится обнуление авторизации с перегенерацией идентификатора. Приведу только эту строчку:
wsus_resetaut_detect_manual.cmd
wuauclt.exe /resetauthorization /detectnow
4. Если нужно просто обнулить авторизацию, то можно воспользоваться конструкцией из предыдущего скрипта. Практика показала, что еще лучше удалять лишние ключи из реестра, для чего мы используем следующий скрипт
AU_Clean_SID.cmd
@echo on
net stop wuauserv
REG DELETE “HKLMSOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdate” /v AccountDomainSid /f
REG DELETE “HKLMSOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdate” /v PingID /f
REG DELETE “HKLMSOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdate” /v SusClientId /f
net start wuauserv
wuauclt /resetauthorization /detectnow
5. Иногда, для того, чтобы все заработало нужно переустановить агента WSUS. Вначале нужно скачать latest Windows Update Agent, ну а затем установить соответствующую редакцию
для x32 версий Windows
windowsupdateagent30-x86.exe /wuforce
для x64 версий Windows
windowsupdateagent30-x64.exe /wuforce
Если вы счастливый обладатель Itanium – догадаетесь сами 🙂
После установки агента нужно обязательно перезагрузиться.
6. Для “лечения” ошибок 0x80070005, т.е. ошибок доступа может пригодиться нижеприведенный скрипт. Он восстанавливает доступы для администраторов и системы к реестру и системным папкам.
Для выполнения этого скрипта понадобится майкрософтовская утилита subinacl.exe. Она входит в resource kit для Windows Server 2003, но пользоваться той версией, что входит туда не стоит, т.к. там неприятные ошибки. Следует скачать subinacl.exe версии 5.2.3790.1180.
Restore_registry_and_system_permission.cmd
@echo off
REM Применять при ошибках 0x80070005 Windows Update
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=system=f
Скрипт был найден в статье базы знаний Microsoft
Все эти скрипты можно выполнять практически автоматически, в случае возникновения проблем. Если в результате проблема таки не решена, то приходится разбираться уже плотнее. И тут нам пригодится тот самый windowsupdate.log, который лежит в корне папки Windows. Если компьютер проблемный, то файл этот большого размера. Для простоты, желательно его удалить перед тем как запускать скрипты. Почти во всех скриптах предусмотрена команда его удаления, но не все так просто. Не смотря на остановку сервиса wuauserv, обычно, его продолжают держать открытые IE и т.п. Поэтому, есть хитрый способ. Запускаю
notepad.exe %windir%windowsupdate.log
Выделяю весь текст, удаляю его и сохраняю вместо старого файла (не забыть в диалоге сохранения поменять тип файла на *.*, а то по умолчанию – *.txt)
Итак, вернемся к логу, коды ошибок WSUS 3 могут помочь в разбирательстве.
Одна из распространенных проблем со wsus клиентом на серверах может заключаться в том, что сам сервис может подключаться к WSUS через прокси, а этого не нужно и наоборот. Манипулировать этим поведением можно с помощью команды proxycfg
Доступ без прокси: proxycfg –d
Доступ через прокси с опциональным указанием байпас листа: proxycfg –d
Проимпортировать пользовательские настройки: proxycfg –u
Стоит заметить, что есть случаи, когда заставить клиента обновляться со wsus так и не получается. У меня есть прецеденты с парочкой Windows Server 2003 R2, которые мне побороть так и не удалось. Поэтому я их обновляю через интернет 🙂
Свежие операционные системы типа Windows 7, Windows 2008 иногда “заводятся” с трудом. Для таких случаев, эмпирическим путем, был найден алгоритм типа:
1. Обновляемся первый раз с сайта microsoft с обновлением агента
2. Потом обновляем агента уже локально
3. А потом все начинает работать
Надеюсь, что плоды наших трудов кому-нибудь помогут.
Для простоты, выкладываю все эти скрипты в уже готовом виде: Wsus-fix
Довелось наблюдать следующую картину: некоторые рабочие станции вдруг стали отваливаться от WSUS. При этом, по мере увеличения парка ПК с Windows 10, случаи стали происходить чаще, т.е. примечательно то, что данная проблема происходила только на компьютерах с Windows 10.
Выявить причину или точную закономерность, к сожалению не удалось, и даже ПК, купленные в одной партии, с идентичными программно-аппаратными характеристиками вдруг вели себя по-разному: основная масса корректно взаимодействовала с WSUS, а некоторые станции в какой-то момент переставали сообщать о своем состоянии.
Есть, однако, предположение, что это как-то связано с установкой или попыткой установки Feature Upgrade (переход к новому билду ОС), но 100% подтверждения этому нет.
В консоли WSUS при этом можно наблюдать одну из следующих картин:
Рис. 1 — ПК в какой-то момент перестал отчитываться о своем состоянии
Рис. 2 — ПК есть на WSUS, но отчетов вообще не отправляет
РЕШЕНИЕ:
1. Первым делом нужно убедиться в правильной настройке адреса сервера WSUS на клиентской машине
Для этого проверяем ветку реестра:
HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWindowsUpdate
2. Убеждаемся в доступности самого сервера WSUS с клиентской машины
ping, tracert, проверка порта telnet-ом и т.д.
3. Если предыдущие два пункта выполнены успешно, выполняем команду:
wuauclt /detectnow /resetauthorization
РЕКОМЕНДАЦИЯ: перед этим лучше удалить ПК на WSUS’е
Данная команда должна заново перерегистрировать станцию на сервере WSUS
ВАЖНО: Скорее всего, клиент «отрепортится» не сразу, и может пройти значительное количество времени (от нескольких десятков минут и более)
4. Командой
wuauclt /reportnow
можно попробовать отправить статистику на WSUS вручную.
После успешного проделывания команд, рабочая станция на WSUS актуализируется:
Рис. 3 — ПК зарегистрировался на WSUS и корректно отправляет информацию
В галерее скриптов Technet есть довольно полезный и простой скрипт для сброса компонентов центра обновлений — Reset Windows Update Agent. Скрипт универсальный и подходит для всех версий Windows: начиная с Windows XP и заканчивая последними версиями Windows 10. Рассмотрим, как им пользоваться.
Прежде чем перейти к сбросу конфигурации центра обновления Windows настоятельно рекомендуем сначала попробовать более простое и эффективное средство для автоматического исправления проблем в службе обновления Windows – средство устранения неполадок Центра обновления Windows (Windows Update Troubleshooter).
- Remove From My Forums
-
Question
-
Hello,
How to force Status Report to WSUS server from command prompt on Windows 10 v1803?
All replies
-
CMD (Run As Admin)
c:windowssystem32UsoClient.exe startscan
S.Sengupta,Microsoft MVP Windows and Devices for IT, Windows Insider MVP
-
hi,
we can enter the below command in command prompt (opened as administrator)wuauclt /detectnow
wuauclt /reportnowother condition you can refer below website.
https://social.technet.microsoft.com/Forums/en-US/19b5f65e-1418-463c-90bf-dffa9469effa/wuauclt-commands-to-force-reporting-of-status?forum=winserverwsus
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact
tnmff@microsoft.com. -
>>UsoClient.exe startscan
I ran it through psexec \ip -h cmd, but still can not see
report on WSUS server>>wuauclt /detectnow
wuauclt /reportnowwuauclt not supported on Windows 10
https://blogs.technet.microsoft.com/yongrhee/2017/11/09/wuauclt-detectnow-in-windows-10-and-windows-server-2016
https://docs.microsoft.com/en-us/windows-server/get-started/deprecated-features
-
hi,
0.open Command Prompt as Admin.
1.enter sfc /scannow and wait it finish to fix manifest and system file then go to step 2.
2.Now type the following commands to stop Windows Update Services and then hit Enter after each one:
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
3.Next, type the following command to rename SoftwareDistribution Folder and then hit Enter:
ren C:WindowsSoftwareDistribution SoftwareDistribution.old
ren C:WindowsSystem32catroot2 catroot2.old
4.Finally, type the following command to start Windows Update Services and hit Enter after each one:
net start wuauserv
net start cryptSvc
net start bits
net start msiserver
5.Reboot your server to save changes.other condition you can refer this website.
https://social.technet.microsoft.com/Forums/en-US/4e054cfe-dd6f-4622-bdc3-d5508c466497/windows-10-1709-clients-no-longer-report-status-wsus-2012-r2?forum=winserverwsus
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact
tnmff@microsoft.com. -
None of the suggestions here accomplish the OP’s need. Any other options? We want a means to force Windows update to send a status report to WSUS server. Exactly as the OP said.
wuauclt /detectnow wuauclt
/reportnow;These commands dont work on Windows 10.
c:windowssystem32UsoClient.exe startscan
All this does is check for updates, just like clicking check for updates button.
Anyone?
It’s so annoying when the client machine reports it’s fully up to date, but the WSUS server says that client still needs 10 updates. So the goal here is to force the status report so the WSUS server status matches the actual status of the client. Sometimes
it takes days for it to do this on its own.-
Edited by
Friday, June 14, 2019 9:43 PM
-
Edited by
-
I suspect you’ve already figured this out, but there isn’t a way with Windows 10 and WSUS to do what you’re asking for. And my hunch is Microsoft will keep it this way. If you want better control, their answer is to use a purchased tool like
System Center or Microsoft 365 (which comes with InTune).
- Remove From My Forums
-
Question
-
Hello,
How to force Status Report to WSUS server from command prompt on Windows 10 v1803?
All replies
-
CMD (Run As Admin)
c:windowssystem32UsoClient.exe startscan
S.Sengupta,Microsoft MVP Windows and Devices for IT, Windows Insider MVP
-
hi,
we can enter the below command in command prompt (opened as administrator)wuauclt /detectnow
wuauclt /reportnowother condition you can refer below website.
https://social.technet.microsoft.com/Forums/en-US/19b5f65e-1418-463c-90bf-dffa9469effa/wuauclt-commands-to-force-reporting-of-status?forum=winserverwsus
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact
tnmff@microsoft.com. -
>>UsoClient.exe startscan
I ran it through psexec \ip -h cmd, but still can not see
report on WSUS server>>wuauclt /detectnow
wuauclt /reportnowwuauclt not supported on Windows 10
https://blogs.technet.microsoft.com/yongrhee/2017/11/09/wuauclt-detectnow-in-windows-10-and-windows-server-2016
https://docs.microsoft.com/en-us/windows-server/get-started/deprecated-features
-
hi,
0.open Command Prompt as Admin.
1.enter sfc /scannow and wait it finish to fix manifest and system file then go to step 2.
2.Now type the following commands to stop Windows Update Services and then hit Enter after each one:
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
3.Next, type the following command to rename SoftwareDistribution Folder and then hit Enter:
ren C:WindowsSoftwareDistribution SoftwareDistribution.old
ren C:WindowsSystem32catroot2 catroot2.old
4.Finally, type the following command to start Windows Update Services and hit Enter after each one:
net start wuauserv
net start cryptSvc
net start bits
net start msiserver
5.Reboot your server to save changes.other condition you can refer this website.
https://social.technet.microsoft.com/Forums/en-US/4e054cfe-dd6f-4622-bdc3-d5508c466497/windows-10-1709-clients-no-longer-report-status-wsus-2012-r2?forum=winserverwsus
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact
tnmff@microsoft.com. -
None of the suggestions here accomplish the OP’s need. Any other options? We want a means to force Windows update to send a status report to WSUS server. Exactly as the OP said.
wuauclt /detectnow wuauclt
/reportnow;These commands dont work on Windows 10.
c:windowssystem32UsoClient.exe startscan
All this does is check for updates, just like clicking check for updates button.
Anyone?
It’s so annoying when the client machine reports it’s fully up to date, but the WSUS server says that client still needs 10 updates. So the goal here is to force the status report so the WSUS server status matches the actual status of the client. Sometimes
it takes days for it to do this on its own.-
Edited by
Friday, June 14, 2019 9:43 PM
-
Edited by
-
I suspect you’ve already figured this out, but there isn’t a way with Windows 10 and WSUS to do what you’re asking for. And my hunch is Microsoft will keep it this way. If you want better control, their answer is to use a purchased tool like
System Center or Microsoft 365 (which comes with InTune).
Довелось наблюдать следующую картину: некоторые рабочие станции вдруг стали отваливаться от WSUS. При этом, по мере увеличения парка ПК с Windows 10, случаи стали происходить чаще, т.е. примечательно то, что данная проблема происходила только на компьютерах с Windows 10.
Выявить причину или точную закономерность, к сожалению не удалось, и даже ПК, купленные в одной партии, с идентичными программно-аппаратными характеристиками вдруг вели себя по-разному: основная масса корректно взаимодействовала с WSUS, а некоторые станции в какой-то момент переставали сообщать о своем состоянии.
Есть, однако, предположение, что это как-то связано с установкой или попыткой установки Feature Upgrade (переход к новому билду ОС), но 100% подтверждения этому нет.
В консоли WSUS при этом можно наблюдать одну из следующих картин:
Рис. 1 — ПК в какой-то момент перестал отчитываться о своем состоянии
Рис. 2 — ПК есть на WSUS, но отчетов вообще не отправляет
РЕШЕНИЕ:
1. Первым делом нужно убедиться в правильной настройке адреса сервера WSUS на клиентской машине
Для этого проверяем ветку реестра:
HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWindowsUpdate
- параметры WUServer и WUStatusServer должны содержать корректный адрес вашего сервера WSUS (например: http://mywsus.mycorp.com:8530)
2. Убеждаемся в доступности самого сервера WSUS с клиентской машины
ping, tracert, проверка порта telnet-ом и т.д.
3. Если предыдущие два пункта выполнены успешно, выполняем команду:
wuauclt /detectnow /resetauthorization
РЕКОМЕНДАЦИЯ: перед этим лучше удалить ПК на WSUS’е
Данная команда должна заново перерегистрировать станцию на сервере WSUS
ВАЖНО: Скорее всего, клиент «отрепортится» не сразу, и может пройти значительное количество времени (от нескольких десятков минут и более)
4. Командой
wuauclt /reportnow
можно попробовать отправить статистику на WSUS вручную.
После успешного проделывания команд, рабочая станция на WSUS актуализируется:
Рис. 3 — ПК зарегистрировался на WSUS и корректно отправляет информацию
Знакомая проблемка… решаю ленивым образом:
Скрипт запускается с рабочего места администратора, с повышенными правами, должен быть установлен комплект PStools, имена компьютеров с ошибками обновления можно посмотреть в консоли WSUS.
Еще очень желательно отклонять ненужные обновления в WSUS и проводить чистку папки WsusContent — помогает избежать таких ситуаций.
Bat-файл:
————————————-
@echo off > nul
echo.
echo Скрипт для исправления ошибок обновления Windows 7
echo.
echo На компьютере должен быть установлен комплект pstools
echo.
echo Запуск скрипта - обязательно от имени администратора.
echo.
:: Enter %computername% - from WSUS errors
set /p X="Введите имя компьютера: "
:: Stop services
psservice \%X% stop bits
psservice \%X% stop wuauserv
:: Waiting...
ping -n 6 127.0.0.1 > nul
:: Check and rename folder SoftwareDistribution
if exist "\%X%c$WindowsSoftwareDistribution_bak" rd /s /q "\%X%c$WindowsSoftwareDistribution_bak"
ren "\%X%c$WindowsSoftwareDistribution" SoftwareDistribution_bak
:: Wait again...
ping -n 6 127.0.0.1 > nul
:: Start services
psservice \%X% start bits
psservice \%X% start wuauserv
:: Wait untill services are started...
ping -n 6 127.0.0.1 > nul
:: Query services
echo.
echo.
psservice \%X% query bits
psservice \%X% query wuauserv
psexec -s \%X% wuauclt.exe /updatenow
:: Done!
echo.
echo Папка SoftwareDistribution пересоздана, клиент обновления перезапущен.
echo.
pause
exit
————————————-
Т.е. на проблемном компьютере пересоздается папка Sofrware Distribution и перезапускается клиент обновления. Через день-два все приходит в норму, можно ускорить и принудительно обновить проблемные компьютеры, но это не обязательно.
В сети обеспечение актуальности ваших систем и отсутствие каких-либо уязвимостей безопасности имеет первостепенное значение. По мере того, как Интернет развивается и развивается, количество угроз безопасности в сети неизбежно возрастет. Это происходит из-за огромного роста в кибер-мире, что приводит к тому, что новые подвиги обнаруживаются почти ежедневно. Вот почему наличие защищенной сети является приоритетом для каждого сетевого или системного администратора.
Разумеется, для этого вам нужно будет развернуть обновления, выпущенные Microsoft, чтобы убедиться, что ваша система имеет все необходимые обновления безопасности. По мере увеличения количества компьютеров в сети управлять всем этим становится все труднее. Однако, к счастью, задачи сетевого администратора намного проще, чем раньше. Это связано с инструментами, разработанными несколькими технологическими компаниями, которые облегчают повседневную работу в сети. Patch Manager не является исключением из этого, и каждый сетевой администратор должен развернуть его в своей сети. Программное обеспечение Patch Management позволяет автоматизировать процесс развертывания обновлений на ваших компьютерах, запланировав запуск задачи в указанный период времени.
Solarwinds Patch Manager
Делать все это вручную в этом современном мире — это кошмар, если не сказать больше, учитывая огромное количество устройств, которые сейчас присутствуют в сети. Короче говоря, сети теперь намного сложнее, чем раньше, и поэтому системные администраторы должны соответствовать требованиям современного мира. При развертывании обновлений в списке компьютеров важно также создать отчет об указанной задаче, чтобы вы знали о своем развертывании обновлений. Это помогает лучше управлять сетью в целом.
Загрузка менеджера патчей Solarwinds
Из длинного списка программного обеспечения для управления исправлениями, доступного в Интернете, выбор правильного может доставить новичкам трудные времена. Именно поэтому у нас есть лучшая статья, в которой перечислены лучшие решения, которые вы можете найти выше. Программное обеспечение, которое возглавляет список, разработано компанией Solarwinds, известной своими продуктами в области управления сетями и системами. Solarwinds Patch Manager (Скачать здесь) — это программное обеспечение, которое делает развертывание обновлений более простым и автоматическим для ваших компьютеров, чем многие другие функции.
Patch Manager также поставляется с системой управления уязвимостями, которая сканирует ваши компьютеры на наличие ошибок и сообщает о любых критических обновлениях, которые отсутствуют на ваших машинах. Помимо этого, есть также функция отчетности, которая помогает вам сообщать обо всех развернутых обновлениях, а также сохраняет дополнительную информацию о ваших системах и сервере WSUS, чтобы вы могли следить за запланированными развертываниями.
В этом руководстве мы будем использовать диспетчер исправлений Solarwinds для расширенных функций, которые оно предлагает, поэтому скачайте инструмент по приведенной ссылке. После того, как вы загрузили инструмент, извлеките ZIP-файл в любое место, а затем запустите программу установки. Во время установки вам будет предложено установить консоль администратора и компоненты сервера Patch Manager. Для этого мы рекомендуем устанавливать консоль администратора только в тех системах, к которым вы легко получаете доступ, чтобы вы могли легко управлять другими компьютерами. Для серверных компонентов они должны быть установлены на каждом компьютере, на котором вы хотите использовать Patch Manager.
Создание пользовательского отчета
С помощью Patch Manager вы можете создавать свои собственные пользовательские отчеты вместе с предварительно определенными отчетами, которые входят в программное обеспечение. Это можно сделать с помощью функции Построитель определений отчетов, которая поставляется с диспетчером исправлений Solarwinds. Используя Report Definition Builder, вы можете создать собственный отчет, который включает любую информацию, которую вы хотите включить, а также любые фильтры, которые вы можете захотеть применить. Чтобы создать собственный отчет WSUS, выполните следующие действия:
- Прежде всего, откройте консоль администратора Patch Manager.
- После этого в меню навигации раскройте категорию «Администрирование и отчетность» и перейдите в раздел «Отчеты»> «Отчеты WSUS».
- Выберите любой подходящий каталог, а затем на панели «Действия» нажмите «Новый отчет». Это приведет вас к построителю определений отчетов.Создание нового отчета
- Теперь вам нужно выбрать поля, которые вы хотите включить в отчет. Если вы хотите добавить какие-либо дополнительные поля, нажмите на предоставленный значок +. Вы также можете изменить порядок полей, если хотите.
- После этого примените любые фильтры, которые вы хотите к вашему отчету. После этого нажмите кнопку «Далее».
- Теперь дайте вашему отчету имя и укажите любые значения планирования. Помимо этого, вы также можете изменить параметры экспорта вместе с настройками электронной почты, где вы будете получать уведомления.Параметры отчета
- Наконец, когда вы закончите со всем, нажмите кнопку Готово.
Генерация отчета
Теперь, когда вы знаете, как создавать собственные отчеты, вы можете сгенерировать их, чтобы получить подробную информацию. Для этого вам нужно будет использовать параметр «Запустить отчет» на панели «Действия». Как только вы запустите отчет, он откроется в окне отчетов, где вы сможете просмотреть несколько отчетов одновременно и не беспокоиться о том, чтобы снова и снова закрывать окно, просто чтобы просмотреть другой отчет. Вам все равно придется использовать опцию Запустить отчет для каждого отчета, который вы хотите сгенерировать. Чтобы создать отчет WSUS, следуйте приведенным ниже инструкциям:
- В меню навигации перейдите в категорию «Администрирование и отчетность», а затем перейдите в раздел «Отчеты»> «Отчеты WSUS».
- Оттуда выберите каталог, в котором находится отчет, который вы хотите сгенерировать.
- После этого найдите отчет в списке созданных отчетов и затем выберите его.
- Выбрав отчет, выберите опцию «Запустить отчет» в левой части панели «Действия».Генерация отчета
- Откроется окно отчета с подробностями отчета. Это может занять некоторое время, поэтому обязательно подождите немного.
Симптомы
Клиентские компьютеры предоставляют отчет обратно на сервер Microsoft Windows Software Update Services (WSUS). Кроме того могут возникнуть следующие неполадки:
-
Сообщение об ошибке записывается в файл журнала Windowsupdate.log на клиентских компьютерах:
Предупреждение: Не удалось отправить событий на сервер с hr = 80244008
-
Сообщения об ошибках времени ожидания для Microsoft SQL Server, отображаются в консоли администрирования на сервере WSUS.
-
Файл SoftwareDistribution.log, расположенный в папке %programfiles%Microsoft ServicesLogFiles обновления Windows содержит сообщения, подобные приведенным ниже:
<DATE>
<TIME>
W3wp.130DBConnection.LogSqlExceptionDBLAYER ошибка UTC: ошибки [0]: поставщик данных .net SqlClient источника, сервер OPC-AD-WSUS1NWSUS, число -2, класс 10, состояние 0, процедура ConnectionRead (WrapperRead()).,
LineNumber 0: Истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает.
Причина
Эта проблема возникает, если количество отчетов событий в таблице tbEventInstance превышает 1 миллион строк.
Сервер WSUS, с помощью оборудования можно поддерживать максимальное число 15 000 клиентов, используя цикл обнаружения по умолчанию 22 часа. Количество событий, отчетности, добавляемого в таблицу tbEventInstance зависит от количества клиентов и частоту, установленную для каждого определения цикла. Автоматическое удаление строк из таблицы tbEventInstance начинается, когда клиент пытается отправить отчет. Процесс автоматического удаления запускается только в том случае, если события отчетов в таблице tbEventInstance превышает 1 миллион строк.
Процесс автоматического удаления происходит очень медленно и блокирует клиентских компьютеров из отчетов обратно на сервер WSUS. По умолчанию WSUS настроена для удаления события, которые старше, чем за 15 дней на рабочих станциях, которые старше, чем 90 дней на серверах. WSUS удаляет старые события со скоростью 1000 событий каждые 12 часов.
Для получения сведений о том, как определить, является ли таблица tbEventInstance превысило 1 миллион строк обратитесь к разделу «Дополнительная информация».
Решение
Сведения об исправлении
Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте данное исправление только в тех системах, которые имеют данную проблему.
Если исправление доступно для скачивания, имеется раздел «Пакет исправлений доступен для скачивания» в верхней части этой статьи базы знаний. Если этого раздела нет, отправьте запрос в службу технической поддержки для получения исправления.
Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание посетите следующий веб-узел корпорации Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримечание. В форме «Пакет исправлений доступен для скачивания» отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.
Предварительные условия
Для установки предварительные компоненты не требуются.
Необходимость перезагрузки
Не требуется перезагружать компьютер после установки данного исправления.
Сведения о замене исправлений
Это исправление не заменяет других исправлений.
Сведения о файлах
Английская версия данного исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, откройте вкладку Часовой пояс элемента «Дата и время» панели управления.
Имя файла |
Версия файла |
Размер файла |
Дата |
Время |
Платформа |
---|---|---|---|---|---|
Eventinstancesfix.dll |
Неприменимо |
41,272 |
07-Nov-2005 |
11:36 |
x86 |
Eventinstancesfix.sql |
Неприменимо |
14,442 |
01-Nov-2005 |
10:42 |
Неприменимо |
Runeventinstancesfix.vbs |
Неприменимо |
1,433 |
08-Nov-2005 |
12:16 |
Неприменимо |
Временное решение
Чтобы обойти эту проблему, измените цикл обнаружения на значение в разрешенном диапазоне. С помощью групповой политики можно управлять время между каждого цикла обнаружения от 1 часа до 22 часов. Например при изменении частоты цикл обнаружения по умолчанию 22 часа на 11 часов, 7 500 клиентов уменьшается количество клиентов, которые могут поддерживать сервер WSUS.
Если клиентские компьютеры не отчет обратно на сервер WSUS после изменения частоты цикл обнаружения, необходимо удалить все текущие события из таблицы tbEventInstance. Чтобы сделать это, выполните следующую команду в анализаторе запросов SQL:
Инструкция TRUNCATE TABLE dbo.tbEventInstanceКроме того можно остановить процесс автоматического удаления, а затем увеличить частоту процесс удаления. После увеличения частоты процесс удаления, WSUS удаляет строки в более мелкие части, но сохраняет размер таблицы tbEventInstance.
Чтобы остановить процесс автоматического удаления и задать частоту процесс удаления до 1 часа, выполните следующую команду в анализаторе запросов SQL:
Обновление dbo.tbConfigurationB НАБОР AutoPurgeDetectionPeriod = 1Эта команда запускает процесс удаления каждый час. После запуска этой команды WSUS удаляет 24 000 событий в день со скоростью 1000 событий в час. Это максимальная частота, можно задать для процесса удаления.
Чтобы вычислить правильный автоматического удаления частоты и частоты правильное определение цикла, необходимо знать количество клиентов WSUS.
Используйте следующие формулы для расчета минимальную частоту процесс удаления и частоту обнаружения цикла:
Минимальное удаление процесса частоты: (24/DF) x CL
Частота обнаружения цикла: (CL/PF) x 24Примечание. DF равна частоте цикл обнаружения, CL — количество клиентов WSUS и PF-это частота очистки минимальное.
Например при наличии 4 000 клиентов WSUS и частоту обнаружения цикла равным 8 циклов в день, около 32 000 событий могут регистрироваться в таблицу tbEventInstance. Максимальное число событий, которые могут быть удалены в процессе удаления в день — 24 000 событий, если задать частоту удаления до 1 часа. Таким образом можно снизить частоту обнаружения цикла, таким образом, количество событий, созданных клиентами меньше 24 000.
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».
Дополнительные сведения
Как определить, является ли таблица tbEventInstance превысило 1 миллион строк
-
Запустите SQL Query Analyzer и подключитесь к локальному серверу.
-
В списке баз данных выберите SUSDB.
-
В окне запроса вставьте следующий запрос SQL:
select count(*) from tbEventInstance
-
Нажмите кнопку Выполнить запрос для выполнения запроса.
При запуске Microsoft SQL Server Desktop Engine (WMSDE) (Windows), также можно использовать команду osql для проверки, является ли таблица tbEventInstance превысило 1 миллион строк. Чтобы сделать это, введите в командной строке следующую команду и нажмите клавишу ВВОД:
"%programfiles%Update Servicestoolsosqlosql.exe" -S %COMPUTERNAME%WSUS -E -dSUSDB -Q"SELECT COUNT(*) FROM dbo.tbEventInstance"
Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
Описание 824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт