Назад | Перейти на главную страницу

Папка содержимого WSUS не сохраняет обновления

Я уже какое-то время ломаю голову над этой проблемой, и все, что я сделаю, не решит проблему

Эта проблема:

Папка WSUSContent "WSUSContent" автоматически удаляет обновления и уменьшает общий размер до <5 ГБ. Исходный размер был более 300 ГБ. Куда пропали обновления? Мы не инициировали очистку WSUSContent и не делали этого раньше.

Попытки решить:

WSUSutil /reset.
Reinstall WSUS service from scratch.
Migrated from internal database to remote SQL database.

Дальнейшая информация:

2015-03-30 14: 25: 19: 174 1184 195c Установка FATAL: GetClientUpdateUrl не удалось, err = 0x8024D009 2015-03-30 14: 25: 19: 174 1184 195c Setup Пропуск проверки SelfUpdate на основе директивы / SKIP в wuident 2015 -03-30 14: 25: 19: 174 1184 195c Настройка Проверка самообновления завершена. Самостоятельное обновление НЕ требуется.

Консоль администрирования WSUS обнаружила непредвиденную ошибку. Это может быть временная ошибка; попробуйте перезапустить консоль администрирования. Если ошибка не исчезнет,

Попробуйте удалить сохраненные настройки для консоли, удалив файл wsus в папке% appdata% \ Microsoft \ MMC.

System.Collections.Generic.KeyNotFoundException - данный ключ отсутствовал в словаре.

Источник mscorlib

Трассировка стека: в System.Collections.Generic.Dictionary`2.get_Item (ключ TKey) в Microsoft.UpdateServices.UI.SnapIn.Pages.UpdatesListPage.GetUpdateRow (обновление WsusUpdate) в Microsoft.UpdateServices.UI.SnapIn. GetListRows ()

WSUS не получает обновления? & WSUS, установлен, неприменимо

Многие другие в Интернете также пытаются найти ответ.

"Красные" записи в файле журнала Windows:

Это важные записи журнала, которые я пытался изучить, но безрезультатно, если только я что-то не упускаю ..

Любая помощь будет оценена по достоинству, так как это случается очень необычно.

Итак, странное исправление.

В моей папке WSUSContent было 0,99 ГБ, и после ручной очистки сервера (не выбирались ненужные файлы обновлений) ожидалось около 45 минут, а затем выбирались ненужные файлы обновлений. Проходит еще одна минута, папка WSUSContent имеет размер 100 ГБ (от 0,99 ГБ, скорость интернета здесь недостаточна, чтобы получить 99 ГБ за <45 минут), и утверждено 50 000 обновлений.

Хотя это работает. Очень-очень странно. Ничто в журналах не требовало очистки, и не было проблем с пространством. Как очень странно.

Спасибо всем за ваши предложения!

Могу я повторить то, что сказал @Proxy:

странное исправление ... Очень и очень странно. ... Как очень странно.

На моем ноутбуке Samsung установлено обновление Windows 8.1. У него была инфекция, которую вылечили. Текущая дата - 16.05.2017, но последнее обновление Windows было 2 года назад в 2015 году.

Обновления Windows не работали после очистки от вредоносных программ. Он зависнет, прогресса в c:\windows\WindowsUpdate.log, и все же занимает 100% одного ядра.

Одним из последствий устаревания, которое могло быть актуальным, было то, что GWX (Get Windows 10) все еще работал на этом ноутбуке, даже несмотря на то, что срок действия этого предложения истек более года назад.

Другой примечательной особенностью этого ноутбука было то, что я дважды заменил материнскую плату. В первый раз он падал по несколько раз в день. Вторая плата работала нормально. Так что эти сбои могли повлиять на это здесь.

Попробовав почти все, вот что сработало: Windows cleanmgr.exe он же «Очистка диска», он же «Очистка дискового пространства путем удаления ненужных файлов».

Я выбрал:

  • Временные интернет файлы
  • Файлы отладочного дампа (похоже, они все еще там)
  • Файлы дампа памяти системных ошибок (похоже, они все еще там)
  • Временные файлы

После этого и перезагрузки Центр обновления Windows заработал. Как очень странно.

Вот некоторые из известных мне решений, которые не помогли:

:: consider carefully /ResetBase -- it prevents you from un-installing windows updates
Dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase

Dism /Online /Cleanup-Image /RestoreHealth
sfc /scannow

Мне приходилось запускать их не раз. Каждый из этих шагов исправлял коррупцию. Пока они не прошли, не обнаружив никаких повреждений.

Тем не менее, Центр обновления Windows работать не будет. Все еще висел.

Углубляясь, я попробовал это исправление "Вариант 2" от sevenforums https://www.sevenforums.com/tutorials/91738-windows-update-reset.html :

Reset_Reregister_Windows_Update_Components.bat

Вот содержимое этого командного файла на сегодняшний день:

@echo off

:: Created by: Shawn Brink
:: http://www.sevenforums.com
:: Tutorial: http://www.sevenforums.com/tutorials/91738-windows-update-reset.html


set b=0

:bits
set /a b=%b%+1
if %b% equ 3 (
   goto end1
) 
net stop bits
echo Checking the bits service status.
sc query bits | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
    goto bits 
) 
goto loop2

:end1
cls
echo.
echo Failed to reset Windows Update due to bits service failing to stop.
echo.
pause
goto Start


:loop2
set w=0

:wuauserv
set /a w=%w%+1
if %w% equ 3 (
   goto end2
) 
net stop wuauserv
echo Checking the wuauserv service status.
sc query wuauserv | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
    goto wuauserv 
) 
goto loop3

:end2
cls
echo.
echo Failed to reset Windows Update due to wuauserv service failing to stop.
echo.
pause
goto Start



:loop3
set app=0

:appidsvc
set /a app=%app%+1
if %app% equ 3 (
   goto end3
) 
net stop appidsvc
echo Checking the appidsvc service status.
sc query appidsvc | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
    goto appidsvc 
) 
goto loop4

:end3
cls
echo.
echo Failed to reset Windows Update due to appidsvc service failing to stop.
echo.
pause
goto Start


:loop4
set c=0

:cryptsvc
set /a c=%c%+1
if %c% equ 3 (
   goto end4
) 
net stop cryptsvc
echo Checking the cryptsvc service status.
sc query cryptsvc | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
    goto cryptsvc 
) 
goto Reset

:end4
cls
echo.
echo Failed to reset Windows Update due to cryptsvc service failing to stop.
echo.
pause
goto Start



:Reset
Ipconfig /flushdns
Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
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)
cd /d %windir%\system32
Ren %systemroot%\system32\catroot2 catroot2.bak
regsvr32.exe /s atl.dll
regsvr32.exe /s urlmon.dll
regsvr32.exe /s mshtml.dll
regsvr32.exe /s shdocvw.dll
regsvr32.exe /s browseui.dll
regsvr32.exe /s jscript.dll
regsvr32.exe /s vbscript.dll
regsvr32.exe /s scrrun.dll
regsvr32.exe /s msxml.dll
regsvr32.exe /s msxml3.dll
regsvr32.exe /s msxml6.dll
regsvr32.exe /s actxprxy.dll
regsvr32.exe /s softpub.dll
regsvr32.exe /s wintrust.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 oleaut32.dll
regsvr32.exe /s ole32.dll
regsvr32.exe /s shell32.dll
regsvr32.exe /s initpki.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 qmgr.dll
regsvr32.exe /s qmgrprxy.dll
regsvr32.exe /s wucltux.dll
regsvr32.exe /s muweb.dll
regsvr32.exe /s wuwebv.dll
regsvr32 /s wudriver.dll
netsh winsock reset

:Start
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc
bitsadmin.exe /reset /allusers

Я пробовал расширенную версию, в которой добавлена ​​остановка / запуск msiserver и переименование %systemroot%\SoftwareDistribution и который остановился wuauserv последнее, потому что окна могут автоматически перезапускать его.

Вот этот код:

:rem v2 with ren whole SoftwareDistribution
:rem    and stop / start msiserver
@echo off

:: Created by: Shawn Brink
:: http://www.sevenforums.com
:: Tutorial: http://www.sevenforums.com/tutorials/91738-windows-update-reset.html


:rem ---------- bits ----------
:loop1
set b=0

:bits
set /a b=%b%+1
if %b% equ 3 (
   goto end1
) 
net stop bits
echo Checking the bits service status.
sc query bits | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
    goto bits 
) 
goto loop2

:end1
cls
echo.
echo Failed to reset Windows Update due to bits service failing to stop.
echo.
pause
goto Start


:rem ---------- appidsvc ----------
:loop2
set app=0

:appidsvc
set /a app=%app%+1
if %app% equ 3 (
   goto end2
) 
net stop appidsvc
echo Checking the appidsvc service status.
sc query appidsvc | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
    goto appidsvc 
) 
goto loop3

:end2
cls
echo.
echo Failed to reset Windows Update due to appidsvc service failing to stop.
echo.
pause
goto Start


:rem ---------- cryptsvc ----------
:loop3
set c=0

:cryptsvc
set /a c=%c%+1
if %c% equ 3 (
   goto end3
) 
net stop cryptsvc
echo Checking the cryptsvc service status.
sc query cryptsvc | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
    goto cryptsvc 
) 
goto loop4

:end3
cls
echo.
echo Failed to reset Windows Update due to cryptsvc service failing to stop.
echo.
pause
goto Start


:rem ---------- msiserver ----------
:loop4
set w=0

:msiserver
set /a w=%w%+1
if %w% equ 3 (
   goto end4
) 
net stop msiserver
echo Checking the msiserver service status.
sc query msiserver | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
    goto msiserver 
) 
goto loop5

:end4
cls
echo.
echo Failed to reset Windows Update due to msiserver service failing to stop.
echo.
pause
goto Start


:rem ---------- wuauserv ----------
:loop5
set w=0

:wuauserv
set /a w=%w%+1
if %w% equ 3 (
   goto end5
) 
net stop wuauserv
echo Checking the wuauserv service status.
sc query wuauserv | findstr /I /C:"STOPPED" 
if not %errorlevel%==0 ( 
    goto wuauserv 
) 
goto Reset

:end5
cls
echo.
echo Failed to reset Windows Update due to wuauserv service failing to stop.
echo.
pause
goto Start



:rem ---------- Reset ----------
:Reset
Ipconfig /flushdns
Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
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)
cd /d %windir%\system32
Ren %systemroot%\system32\catroot2 catroot2.bak

cd %systemroot%\
ren SoftwareDistribution SoftwareDistribution_mm.bak

regsvr32.exe /s atl.dll
regsvr32.exe /s urlmon.dll
regsvr32.exe /s mshtml.dll
regsvr32.exe /s shdocvw.dll
regsvr32.exe /s browseui.dll
regsvr32.exe /s jscript.dll
regsvr32.exe /s vbscript.dll
regsvr32.exe /s scrrun.dll
regsvr32.exe /s msxml.dll
regsvr32.exe /s msxml3.dll
regsvr32.exe /s msxml6.dll
regsvr32.exe /s actxprxy.dll
regsvr32.exe /s softpub.dll
regsvr32.exe /s wintrust.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 oleaut32.dll
regsvr32.exe /s ole32.dll
regsvr32.exe /s shell32.dll
regsvr32.exe /s initpki.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 qmgr.dll
regsvr32.exe /s qmgrprxy.dll
regsvr32.exe /s wucltux.dll
regsvr32.exe /s muweb.dll
regsvr32.exe /s wuwebv.dll
regsvr32 /s wudriver.dll
netsh winsock reset

:Start
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc
net start msiserver
bitsadmin.exe /reset /allusers

И после всего этого, что заставило Центр обновления Windows снова работать, было cleanmgr