Сброс конфигурации агента и службы обновлений Windows Update | Windows для системных администраторов

Сброс конфигурации агента и службы обновлений Windows Update

В этой статье мы покажем, как восстановить исходное состояние агента и службы Windows Update на компьютере путем сброса их конфигурации. Как правило, это самый эффективный и простой способ решить проблему с работой агента обновлений Windows.

Обычно процесс отладки и дебага ошибок в работе службы обновлений выполняется с помощью анализа данных в логе %windir%\WindowsUpdate.log (в Windows 10 получить файл WindowsUpdate.log можно таким способом). Количество возможных ошибок, с которыми может столкнуться администратор при анализе этого файла исчисляется десятками и процесс их разрешения в основном нетривиальный. Чтобы избежать лишних телодвижений и не терять время, гораздо проще сначала произвести полный сброс настроек агента и службы Windows Update и начать с чистого листа.

windows update errorПроцесс сброса настроек агента и службы обновления Windows состоит из нескольких этапов. Все описанные операции автоматизируются с помощью средств командной строки и собраны в один скрипт (готовый скрипт можно скачать по ссылке ниже).

С помощью данного скрипта можно полностью сбросить конфигурацию службы Центра обновлений Windows, и очистить локальный кэш обновлений. Скрипт является универсальный и будет работать как в Windows 7, так и в Windows 8 и Windows 10. Скрипт помогает устранить большинство типовых ошибок в работе службы Windows Update, когда центр обновлений перестает загружать новые обновления или пишет, что при установке обновления возникли ошибки.

Итак, по порядку о том, что делает скрип:

  1. Останавливаем службы Windows Update (Центр обновлений Windows), BITS и службы криптографии
    net stop bits
    net stop wuauserv
    net stop appidsvc
    net stop cryptsvc
  2. Удаляем служебные файлы qmgr*.dat в каталоге %ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\
    Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
  3. Переименовываем служебные каталоги, в которых хранятся конфигурационные файлы и кэш обновлений (в случае необходимости их можно будет использовать как резервные копии). После перезапуска служб, эти каталоги автоматически пересоздадутся:
    Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
    Ren %systemroot%\system32\catroot2 catroot2.bak
  4. Удаление старого журнала windowsupdate.log
    del /f /s /q %windir%\windowsupdate.log
  5. Сброс разрешений на службы BITS и Windows Update (в случае, если права на службу были изменены)
    sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
    sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
  6. Перерегистрация файлов системных динамических библиотек (dll), связанных со службами BITS и Windows Update
    cd /d %windir%\system32
    regsvr32.exe /U /s vbscript.dll
    regsvr32.exe /U /s mshtml.dll
    regsvr32.exe /U /s msjava.dll
    regsvr32.exe /U /s msxml.dll
    regsvr32.exe /U /s actxprxy.dll
    regsvr32.exe /U /s shdocvw.dll
    regsvr32.exe /U /s Mssip32.dll
    regsvr32.exe /U /s wintrust.dll
    regsvr32.exe /U /s initpki.dll
    regsvr32.exe /U /s dssenh.dll
    regsvr32.exe /U /s rsaenh.dll
    regsvr32.exe /U /s gpkcsp.dll
    regsvr32.exe /U /s sccbase.dll
    regsvr32.exe /U /s slbcsp.dll
    regsvr32.exe /U /s cryptdlg.dll
    regsvr32.exe /U /s Urlmon.dll
    regsvr32.exe /U /s Oleaut32.dll
    regsvr32.exe /U /s msxml2.dll
    regsvr32.exe /U /s Browseui.dll
    regsvr32.exe /U /s shell32.dll
    regsvr32.exe /U /s atl.dll
    regsvr32.exe /U /s jscript.dll
    regsvr32.exe /U /s msxml3.dll
    regsvr32.exe /U /s softpub.dll
    regsvr32.exe /U /s wuapi.dll
    regsvr32.exe /U /s wuaueng.dll
    regsvr32.exe /U /s wuaueng1.dll
    regsvr32.exe /U /s wucltui.dll
    regsvr32.exe /U /s wups.dll
    regsvr32.exe /U /s wups2.dll
    regsvr32.exe /U /s wuweb.dll
    regsvr32.exe /U /s scrrun.dll
    regsvr32.exe /U /s msxml6.dll
    regsvr32.exe /U /s ole32.dll
    regsvr32.exe /U /s qmgr.dll
    regsvr32.exe /U /s qmgrprxy.dll
    regsvr32.exe /U /s wucltux.dll
    regsvr32.exe /U /s muweb.dll
    regsvr32.exe /U /s wuwebv.dll

    regsvr32.exe /s vbscript.dll
    regsvr32.exe /s mshtml.dll
    regsvr32.exe /s msjava.dll
    regsvr32.exe /s msxml.dll
    regsvr32.exe /s actxprxy.dll
    regsvr32.exe /s shdocvw.dll
    regsvr32.exe /s Mssip32.dll
    regsvr32.exe /s wintrust.dll
    regsvr32.exe /s initpki.dll
    regsvr32.exe /s dssenh.dll
    regsvr32.exe /s rsaenh.dll
    regsvr32.exe /s gpkcsp.dll
    regsvr32.exe /s sccbase.dll
    regsvr32.exe /s slbcsp.dll
    regsvr32.exe /s cryptdlg.dll
    regsvr32.exe /s Urlmon.dll
    regsvr32.exe /s Oleaut32.dll
    regsvr32.exe /s msxml2.dll
    regsvr32.exe /s Browseui.dll
    regsvr32.exe /s shell32.dll
    regsvr32.exe /s Mssip32.dll
    regsvr32.exe /s atl.dll
    regsvr32.exe /s jscript.dll
    regsvr32.exe /s msxml3.dll
    regsvr32.exe /s softpub.dll
    regsvr32.exe /s wuapi.dll
    regsvr32.exe /s wuaueng.dll
    regsvr32.exe /s wuaueng1.dll
    regsvr32.exe /s wucltui.dll
    regsvr32.exe /s wups.dll
    regsvr32.exe /s wups2.dll
    regsvr32.exe /s wuweb.dll
    regsvr32.exe /s scrrun.dll
    regsvr32.exe /s msxml6.dll
    regsvr32.exe /s ole32.dll
    regsvr32.exe /s qmgr.dll
    regsvr32.exe /s qmgrprxy.dll
    regsvr32.exe /s wucltux.dll
    regsvr32.exe /s muweb.dll
    regsvr32.exe /s wuwebv.dll
  7. Сброс параметров Winsocknetsh winsock reset
  8. Сброс параметров системного проксиnetsh winhttp reset proxy
  9. Опционально. При использовании локального сервера WSUS, возможно дополнительно сбросить текущую привязку клиента к серверу WSUS путем удаления следующих параметров в ветке HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v AccountDomainSid /f
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v PingID /f
    REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v SusClientId /f
    REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v TargetGroup /f
    REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v WUServer /f
    REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v WUStatusServer /f
  10. Запуск остановленных служб
    net start bits
    net start wuauserv
    net start appidsvc
    net start cryptsvc
  11. Опционально. В некоторых случая требуется установить/переустановить последнею версию агента Windows Update Agent (WUA). Скачать актуальную версию агента можно со страницы https://support.microsoft.com/en-us/kb/949104. Нужно скачать файл для вашей версии Windows.Скачать последнюю версию агента Windows UpdateАктуальная версия агента WUA для Windows 7 SP1 x64 — 7.6. Принудительная переустановка выполняется следующими командами:Для x32 версий Windows 7WindowsUpdateAgent-7.6-x86.exe /quiet /norestart /wuforce

    для x64 версий Windows 7

    WindowsUpdateAgent-7.6-x64.exe /quiet /norestart /wuforce

    Совет. Текущую версию агента Windows Update Agent (WUA) можно узнать в свойствах файла %windir%\system32\Wuaueng.dll. В нашем примере это 7.6.7600.256 (последняя).Как узнать версию агента WUA (библиотека Wuaueng.dll)

Осталось перезагрузить компьютер и запустить синхронизацию с сервером Windows Update /WSUS.

wuauclt /resetauthorization /detectnow

Затем зайдите в Центр обновления и проверьте, пропали ли проблемы при поиске, скачивании и установке обновлений.

Сам скрипт reset_win_update.bat можно скачать по ссылке reset_win_update.zip (пункты 9 и 11 в скрипте не выполняются, т.к. являются опциональными). Скрипт нужно скачать, распаковать и запустить с правами администратора. run-as-admin

Код скрипта reset_win_update.bat:

@echo off

REM Script to Reset Windows Updates agent

 

REM Stop Services

net stop bits

net stop wuauserv

net stop appidsvc

net stop cryptsvc

 

REM Delete the qmgr*.dat files

Del «%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat»

 

REM Rename folders

Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak

Ren %systemroot%\system32\catroot2 catroot2.bak

 

REM Reset services permissions

sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)

sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)

 

REM ReRegister services

cd /d %windir%\system32

regsvr32.exe /U /s vbscript.dll

regsvr32.exe /U /s mshtml.dll

regsvr32.exe /U /s msjava.dll

regsvr32.exe /U /s msxml.dll

regsvr32.exe /U /s actxprxy.dll

regsvr32.exe /U /s shdocvw.dll

regsvr32.exe /U /s Mssip32.dll

regsvr32.exe /U /s wintrust.dll

regsvr32.exe /U /s initpki.dll

regsvr32.exe /U /s dssenh.dll

regsvr32.exe /U /s rsaenh.dll

regsvr32.exe /U /s gpkcsp.dll

regsvr32.exe /U /s sccbase.dll

regsvr32.exe /U /s slbcsp.dll

regsvr32.exe /U /s cryptdlg.dll

regsvr32.exe /U /s Urlmon.dll

regsvr32.exe /U /s Oleaut32.dll

regsvr32.exe /U /s msxml2.dll

regsvr32.exe /U /s Browseui.dll

regsvr32.exe /U /s shell32.dll

regsvr32.exe /U /s atl.dll

regsvr32.exe /U /s jscript.dll

regsvr32.exe /U /s msxml3.dll

regsvr32.exe /U /s softpub.dll

regsvr32.exe /U /s wuapi.dll

regsvr32.exe /U /s wuaueng.dll

regsvr32.exe /U /s wuaueng1.dll

regsvr32.exe /U /s wucltui.dll

regsvr32.exe /U /s wups.dll

regsvr32.exe /U /s wups2.dll

regsvr32.exe /U /s wuweb.dll

regsvr32.exe /U /s scrrun.dll

regsvr32.exe /U /s msxml6.dll

regsvr32.exe /U /s ole32.dll

regsvr32.exe /U /s qmgr.dll

regsvr32.exe /U /s qmgrprxy.dll

regsvr32.exe /U /s wucltux.dll

regsvr32.exe /U /s muweb.dll

regsvr32.exe /U /s wuwebv.dll

 

regsvr32.exe /s vbscript.dll

regsvr32.exe /s mshtml.dll

regsvr32.exe /s msjava.dll

regsvr32.exe /s msxml.dll

regsvr32.exe /s actxprxy.dll

regsvr32.exe /s shdocvw.dll

regsvr32.exe /s Mssip32.dll

regsvr32.exe /s wintrust.dll

regsvr32.exe /s initpki.dll

regsvr32.exe /s dssenh.dll

regsvr32.exe /s rsaenh.dll

regsvr32.exe /s gpkcsp.dll

regsvr32.exe /s sccbase.dll

regsvr32.exe /s slbcsp.dll

regsvr32.exe /s cryptdlg.dll

regsvr32.exe /s Urlmon.dll

regsvr32.exe /s Oleaut32.dll

regsvr32.exe /s msxml2.dll

regsvr32.exe /s Browseui.dll

regsvr32.exe /s shell32.dll

regsvr32.exe /s Mssip32.dll

regsvr32.exe /s atl.dll

regsvr32.exe /s jscript.dll

regsvr32.exe /s msxml3.dll

regsvr32.exe /s softpub.dll

regsvr32.exe /s wuapi.dll

regsvr32.exe /s wuaueng.dll

regsvr32.exe /s wuaueng1.dll

regsvr32.exe /s wucltui.dll

regsvr32.exe /s wups.dll

regsvr32.exe /s wups2.dll

regsvr32.exe /s wuweb.dll

regsvr32.exe /s scrrun.dll

regsvr32.exe /s msxml6.dll

regsvr32.exe /s ole32.dll

regsvr32.exe /s qmgr.dll

regsvr32.exe /s qmgrprxy.dll

regsvr32.exe /s wucltux.dll

regsvr32.exe /s muweb.dll

regsvr32.exe /s wuwebv.dll

 

REM reset winsock

netsh winsock reset

 

REM reset proxy

netsh winhttp reset proxy

 

REM restart services

net start bits

net start wuauserv

net start appidsvc

net start cryptsvc

 

REM Install the latest Windows Update Agent.

start http://support.microsoft.com/kb/949104

Если обновления начали корректно скачиваться и устанавливается, можно удалить папки резервные копии папок:

Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
Ren %systemroot%\system32\catroot2 catroot2.bak

Еще записи по теме: Windows 7
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 15

Оставить комментарий
  1. limiyimoka | 28.02.2016

    Гм, а как насчёт usoclient.exe StartScan в win10

    Ответить
    • itpro | 01.03.2016

      Как я понимаю это замена команды запуска цикла сканирования wuauclt /detectnow. В любом случае она рано или поздно запуститься планировщиком

      Ответить
  2. myr4ik07 | 01.03.2016

    Скрипта немає :)

    Ответить
    • itpro | 02.03.2016

      Поправил ссылку на скрипт.
      Дякую! :)

      Ответить
      • myr4ik07 | 03.03.2016

        Дякую, завантажив :)

        Ответить
  3. Adminny | 11.03.2016

    Ссылка в коллекцию:
    You can’t install updates in Windows Vista, Windows 7, Windows Server 2008, or Windows Server 2008 R2
    https://support.microsoft.com/en-us/kb/2509997

    Ответить
  4. Adminny | 16.03.2016

    Кто-то сравнивал:
    Windows Update Agent — Latest
    https://support.microsoft.com/en-us/kb/949104
    и
    Windows Update Client — March 2016
    https://support.microsoft.com/en-us/kb/3138612
    ?
    Какая между ними разница?

    Ответить
    • itpro | 17.03.2016

      Как я для себя понимаю, на данный момент последняя версия Windows Update агента одна (7.6.7600.256). Качается она по ссылке из KB949104.
      Периодически MS выпускает опциональные патчи для некоторых компонентов агента Windows Update, причем версия ядра остается одной и той же. Патчи следует ставить при наличии проблем со службой обновлений. Например, как в этой кейсе http://winitpro.ru/index.php/2016/03/03/svchost-exe-windows-update-high-memory-usage/

      Ответить
      • Adminny | 17.03.2016

        Разобрался.
        Последняя версия 7.6.7601.19161 из обновления March 2016.
        Версия смотрится в C:\Windows\System32\wuaueng.dll
        После KB949104 эта dll имеет версию 7.6.7600.320

        Ответить
        • itpro | 17.03.2016

          Отлично! Значит все таки обновили версию WU агента. Спасибо за инфу

          Ответить
  5. Арнольд | 20.04.2016

    Может кому-нибудь пригодится: воспользовался приведенным здесь скриптом и после того, как скрипт отработал, сразу же скачал и установил последнюю версию Windows Update Client. После перезагрузки обнаружил, что служба Windows Update была удалена, т.е. в списке служб ее нет, попытки обновить систему предлагают перезагрузить компьютер, что не дает никакого эффекта. Починилось все повторной регистрацией нескольких библиотек (какой-то из wuapi.dll, wuaueng.dll, wuaueng1.dll, wucltui.dll, wups.dll, wups2.dll, wuweb.dll), но такое поведение довольно странно.

    Ответить
    • itpro | 21.04.2016

      Уточните версию ОС?

      Ответить
      • Арнольд | 21.04.2016

        Windows 7 Enterprise SP1 x64.
        Надо отметить, что последующее восстановление службы обновлений проблему с оными не решило, т.е. компьютер уже второй день не может получить никаких обновлений. Независимо от того, использую ли я Wsus или же выбираю проверку обновлений через интернет. С рядом стоящими новыми компьютерами подобная проблема не наблюдается. Дистрибутив ОС один и тот же .

        Ответить
    • Алексей | 19.09.2016

      Спасибо за инфу, помолго очень!

      Ответить
  6. Павел | 04.09.2016

    после выполнения скрипта так же,как и у Арнольда была удалена служба,помогла перерегистрация библиотек,далее-поиск обновлений и все,ничего не зависает,но и прогресса в поиске нет,агента обновления обновил 7.6.7600.32

    Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.27MB/0.00117 sec