У цій статті ми покажемо, як виправити помилки і відновити роботу служби поновлення Windows за допомогою скидання конфігурації агента і служби Windows Update. Як правило, це найефективніший і простий спосіб вирішити проблему з роботою служби оновлень Windows, якщо оновлення не завантажуються або відбуваються помилки при установці оновлень.
зміст:
- Засіб усунення неполадок служби Windows Update
- Скидання налаштувань Windows Update з командного рядка
- Скрипт Reset Windows Update Agent
Зазвичай для налагодження і дебага помилок служби поновлення Windows адміністраторові необхідно проаналізувати коди помилок у файлі журналу оновлень %windir% \ WindowsUpdate.log (В Windows 10 отримати файл WindowsUpdate.log можна таким способом). Кількість можливих помилок, з якими може зіткнутися адміністратор при аналізі історії оновлень обчислюється десятками (список всіх помилок Windows Update) і процес їх вирішення в основному нетривіальний. У деяких випадках замість детального аналізу помилок Windows Update набагато швидше і простіше спочатку зробити повне скидання налаштувань агента і служби Windows Update. Після скидання Windows Update ви можете виконати сканування і пошук оновлень.
Засіб усунення неполадок служби Windows Update
Перш ніж перейти до скидання конфігурації центру поновлення Windows настійно рекомендуємо спочатку спробувати більш простий і ефективний засіб для автоматичного виправлення проблем в Службу оновлення Windows - засіб усунення неполадок служби Windows Update (Windows Update Troubleshooter).
Скачайте і запустіть Windows Update Troubleshooter для вашої версії Windows:
- Windows 10 - wu10.diagcab (https://aka.ms/wudiag) (або запустіть локальну версію інструменту: Пуск -> Параметри -> Оновлення та безпека -> Усунення неполадок -> Центр оновлень Windows (Start -> Settings -> Updates and Security - > Troubleshoot -> Windows Updates Troubleshooter);
- Windows 7 і Windows 8.1 - WindowsUpdate.diagcab (https://aka.ms/diag_wu).
Дочекайтеся поки засіб усунення неполадок служби Windows Update просканує систему і спробує автоматично виправити всі помилки в служба Windows Update і пов'язаних компонентах.
У моєму випадку була виявлена і виправлено потенційна помилка в базі даних служби Windows Update. Після цього залишилося перезавантажити комп'ютер і спробувати виконати пошук оновлень. Якщо оновлення не завантажуються або не встановлюються, перейдіть до наступного етапу.
Скидання налаштувань Windows Update з командного рядка
Процес скидання налаштувань агента і служби поновлення Windows складається з декількох етапів. Всі описані операції виконуються в командному рядку і зібрані в один bat файл (готовий скрипт можна скачати по посиланню нижче).
За допомогою даного скрипта можна повністю скинути конфігурацію служби Центру оновлень Windows, і очистити локальний кеш оновлень. Скрипт є універсальний і буде працювати як в Windows 7, Windows 8.1 і Windows 10, так і в Windows Server 2016/2012 R2 / 2008 R2. Скрипт допомагає усунути більшість типових помилок в роботі служби Windows Update, коли центр оновлень перестає завантажувати нові оновлення або пише, що при установці оновлення виникають помилки.
Отже, по порядку про те, що робить скрип:
- Зупинка служби Windows Update (Центру Windows), BITS і служби криптографії:
net stop bits
net stop wuauserv
net stop appidsvc
net stop cryptsvc
taskkill / im wuauclt.exe / f - Видалення службових файлів qmgr * .dat в каталозі% ALLUSERSPROFILE% \ Application Data \ Microsoft \ Network \ Downloader \:
Del "% ALLUSERSPROFILE% \ Application Data \ Microsoft \ Network \ Downloader \ qmgr * .dat"
- Перейменовуємо службових каталоги, у яких зберігаються конфігураційні файли і кеш оновлень (в разі потреби їх можна буде використовувати як резервні копії). Після перезапуску служби відновлення, ці каталоги автоматично пересоздадут:
Ren% systemroot% \ SoftwareDistribution SoftwareDistribution.bak
Ren% systemroot% \ system32 \ catroot2 catroot2.bak - Видалення старого журналу windowsupdate.log
del / f / s / q% windir% \ windowsupdate.log
- Скидання дозволів на служби 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)
sc.exe sdset cryptsvc D: (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCDCLCSWRPWPDTLCRSDRCWDWO ;;; SO) (A ;; CCLCSWRPWPDTLOCRRC ;;; SY) S :( AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;; WD)
sc.exe sdset trustedinstaller D: (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCDCLCSWRPWPDTLCRSDRCWDWO ;;; SO) (A ;; CCLCSWRPWPDTLOCRRC ;;; SY) S :( AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;; WD) - Перереєстрація файлів системних динамічних бібліотек (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.dllregsvr32.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 - Скидання параметрів Winsock
netsh winsock reset
- Скидання параметрів системного проксі
netsh winhttp reset proxy
- опціонально. При використанні локального сервера 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 - Запуск зупинених служб:
sc.exe config wuauserv start = auto
sc.exe config bits start = delayed-auto
sc.exe config cryptsvc start = auto
sc.exe config TrustedInstaller start = demand
sc.exe config DcomLaunch start = auto
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc - опціонально. У деяких випадках потрібно встановити / перевстановити останню версію агента Windows Update Agent (WUA). Завантажити актуальну версію агента можна зі сторінки https://support.microsoft.com/en-us/kb/949104. Потрібно завантажити файл для вашої версії Windows.Актуальна версія агента WUA для Windows 7 SP1 x64 - 7.6. Примусова перевстановлення агента WindowsUpdate виконується наступними командами:
- для Windows 7 x86:
WindowsUpdateAgent-7.6-x86.exe / quiet / norestart / wuforce
- для ОС Windows 7 x64:
WindowsUpdateAgent-7.6-x64.exe / quiet / norestart / wuforce
Порада. Поточну версію агента Windows Update Agent (WUA) в Windows 7 можна дізнатися у властивостях файлу% windir% \ system32 \Wuaueng.dll. У нашому прикладі це 7.6.7600.256.
- для Windows 7 x86:
Залишилося перезавантажити комп'ютер і запустити синхронізацію з сервером Windows Update / WSUS.
wuauclt / resetauthorization / detectnow
Потім зайдіть до служби Windows і перевірте, чи немає на проблеми при пошуку, скачуванні та встановлення оновлень.
сам скрипт reset_win_update.bat можна завантажити за посиланням reset_win_update.zip (Пункти 9 і 11 в скрипті не виконуються, тому що є опціональними). Скрипт потрібно завантажити, розпакувати і запустити з правами адміністратора.
Після цього перезавантажте комп'ютер, потім зайдіть в Центр оновлень і перевірте, чи немає на проблеми при пошуку, скачуванні та встановлення оновлень.
Якщо поновлення почали коректно скачиваться і встановлюється, можна видалити папки резервні копії папок:
Ren% systemroot% \ SoftwareDistribution SoftwareDistribution.bak
Ren% systemroot% \ system32 \ catroot2 catroot2.bak
Скрипт Reset Windows Update Agent
У галереї скриптів Technet є досить корисний і простий скрипт для скидання компонентів центру оновлень - Reset Windows Update Agent. Скрипт універсальний і підходить для всіх версій Windows: починаючи з Windows XP і закінчуючи останніми версіями Windows 10. Розглянемо, як ним користуватися.
- скачайте архів ResetWUEng.zip тут (https://gallery.technet.microsoft.com/scriptcenter/Reset-Windows-Update-Agent-d824badc) і розпакуйте його;
- запустіть файл ResetWUEng.cmd з правами адміністратора;
- Скрипт визначить вашу версію ОС (в моєму прикладі це Windows 10) і запропонує 18 різних опцій. Деякі з них не мають прямого стосунку до скидання налаштувань агента WU, але можуть бути корисні для виправлення різних несправностей в Windows (перевірка диска chkdsk, виправлення помилок в образі Windows, скидання Winsock, очищення тимчасових файлів і т.д.);
- Для скидання налаштувань Windows Update як правило досить використовувати опцію 2 - Resets the Windows Update Components (Скинути компоненти служби поновлення Windows). натисніть 2 і Enter;
- Скрипт автоматично виконає всі дії, які ми описали вище при виконанні ручного скидання агента оновлень Windows з командного рядка. Ви можете самостійно подивитися, що робить скрипт, відкривши в файл ResetWUEng.cmd в будь-якому текстовому редакторі і вивчивши його вміст. Наприклад, опція 2 відправляє на процедуру components.
- Після закінчення роботи скрипта Reset Windows Update Agent перезавантажте комп'ютер і перевірте роботу служби оновлень.