A pasta Conteúdo do WSUS não retém as atualizações

2

Eu tenho coçado a cabeça por algum tempo sobre esta questão e qualquer coisa que eu faça não vai resolver o problema

O problema:

WSUS' "WSUSContent" folder is self-deleting updates and reducing the overall size to <5GB. The original size was over 300GB. Where have the updates gone? We did not initiate a WSUSContent cleanup nor have we in the past.

Tentativas de resolver:

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

Mais informações:

  • O banco de dados do WSUS está localizado em um servidor SQL remoto
  • O WSUSutil redefiniu a reconstrução de toda a pasta de conteúdo para mais de 300 GB.
  • O WSUS ficou ativo por um período de tempo (1-2 semanas) e, de repente, parou de funcionar em um dia (infelizmente, não sabemos quando isso aconteceu)
  • Freqüentemente, depois que esse problema ocorre, obtemos o código genérico 800 para o conteúdo ausente do WSUS:

2015-03-30 14:25:19:174 1184 195c Setup FATAL: GetClientUpdateUrl failed, err = 0x8024D009 2015-03-30 14:25:19:174 1184 195c Setup Skipping SelfUpdate check based on the /SKIP directive in wuident 2015-03-30 14:25:19:174 1184 195c Setup SelfUpdate check completed. SelfUpdate is NOT required.

  • Não há tarefas agendadas para "limpar" as atualizações e aprovamos automaticamente todas as atualizações para as tecnologias necessárias (Windows 7, 8.1, Server 2012, SQL 2012 e outras que me tiraram da cabeça).
  • Usamos ferramentas de terceiros para verificar nossa configuração do WSUS e todas elas retornam com a alegação de que a configuração está correta e que nenhum problema foi detectado.
  • Temos o WSUS trabalhando em HTTP e HTTPS, o certificado SSL está correto e dentro da data / válido.
  • Ao conectar-se com as ferramentas do Administrador ao WSUS, o console periodicamente quebrará e exibirá um "X" vermelho e informará que a API remota parou de funcionar? (Eu estou colando abaixo de outro erro que o console de administração do WSUS experimenta):

The WSUS administration console has encountered an unexpected error. This may be a transient error; try restarting the administration console. If this error persists,

Try removing the persisted preferences for the console by deleting the wsus file under %appdata%\Microsoft\MMC.

System.Collections.Generic.KeyNotFoundException -- The given key was not present in the dictionary.

Source mscorlib

Stack Trace: at System.Collections.Generic.Dictionary'2.get_Item(TKey key) at Microsoft.UpdateServices.UI.SnapIn.Pages.UpdatesListPage.GetUpdateRow(WsusUpdate update) at Microsoft.UpdateServices.UI.SnapIn.Pages.UpdatesListPage.GetListRows()

  • Eu segui estes no SF, sem sorte:

O WSUS não está recebendo atualizações? & WSUS, instalado, não aplicável

Muitos outros na internet também tentam encontrar uma resposta.

  • O servidor do WSUS faz parte de um domínio e, para esclarecer, quando eu executei o wsusutil / reset, todos os clientes conectados estavam recebendo atualizações e a conectividade não é um problema, o conteúdo do WSUS desaparece sem nenhum rastreio.

Entradas "Red" do arquivo de log do Windows:

Estas são as entradas de log críticas que eu tentei investigar, sem sucesso também, a menos que eu esteja negligenciando algo ..

  • 376 1b0c Misc AVISO: O custo de rede é assumido como não suportado, pois algo falhou ao tentar obter alças para wcmapi.dll
  • Relatório AVISO: O repórter falhou ao carregar eventos com hr = 8007000d.
  • AVISO: falha na conversão do lote de eventos para o evento de serviço da web: 0x8007000d
  • FATAL: Falha de GetClientUpdateUrl, err = 0x8024D009
  • AVISO: falha ao obter informações de isenção de Wu do NLM, considerando não isento, erro = 0x80240037
  • Agente * Online = Não; Ignore a prioridade de download = Não < - Online = Não; ???

Qualquer ajuda seria apreciada, pois isso é muito incomum de acontecer.

    
por Proxy 30.03.2015 / 15:50

2 respostas

1

Então, correção estranha.

Minha pasta WSUSContent tinha 0.99GB e depois de uma limpeza manual do servidor (não selecionava arquivos de atualização desnecessários) esperou cerca de 45 minutos e depois selecionou os arquivos de atualização desnecessários..mais ou menos um minuto, a pasta WSUSContent está em 100GB 0.99GB, a velocidade da Internet não é rápida o suficiente aqui para pegar 99GB em < 45 minutos) e 50.000 atualizações são aprovadas.

Funciona. Muito estranho. Nada nos logs solicitou uma limpeza, nem o espaço foi um problema. Quão bizarro.

Obrigado a todos por suas sugestões!

    
por 09.04.2015 / 10:27
0

Posso fazer eco do que @Proxy disse:

odd fix ... Very, very strange. ... How very bizarre.

Meu laptop Samsung possui o Windows 8.1 Update. Ele teve uma infecção que foi limpa. A data atual é 16/05/2017, mas a última atualização do Windows ocorreu há dois anos em 2015.

As atualizações do Windows não estavam funcionando após a limpeza do malware. Suspenderia, não haveria progresso em c:\windows\WindowsUpdate.log e, ainda assim, ocuparia 100% de um núcleo.

Uma consequência de estar 2 anos desatualizada, que pode ser relevante, foi que o GWX (Get Windows 10) ainda estava sendo executado neste laptop, mesmo que essa oferta tenha expirado há mais de um ano.

A outra coisa notável com este laptop foi que eu substituí a placa-mãe duas vezes. Na primeira vez, estava batendo várias vezes ao dia. A segunda motherboard funcionou bem. Então essas falhas podem ter tido um efeito aqui.

Depois de tentar quase tudo, foi isso que funcionou: Windows cleanmgr.exe "Disk Cleanup" ou "Limpar espaço em disco excluindo arquivos desnecessários".

Eu selecionei:

  • Arquivos temporários da Internet
  • Depurar arquivos de despejo (parece que eles ainda estão lá, no entanto)
  • Arquivos de despejo de memória de erro do sistema (parece que ainda estão lá)
  • Arquivos temporários

Depois disso, e uma reinicialização, o Windows Update funcionou. Quão bizarro.

Veja algumas das soluções importantes que tentei que não funcionaram:

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

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

Eu tive que executar isso mais de uma vez. Cada um desses passos corrigiu a corrupção. Até que eles passaram sem corrupção encontrada.

Ainda assim, o Windows Update não funcionaria. Ainda pendurado.

Indo mais fundo, tentei essa correção, "Opção 2" do link do sevenforums:

Reset_Reregister_Windows_Update_Components.bat

Este é o conteúdo desse arquivo em lote a partir de hoje:

@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

Eu tentei uma versão expandida que adicionou a parada / início de msiserver e uma renomeação de %systemroot%\SoftwareDistribution e que interrompeu wuauserv por último porque o Windows pode reinicializá-lo automaticamente.

Este é o código:

: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

E, depois de tudo, o que fez o Windows Update funcionar novamente foi cleanmgr

    
por 17.05.2017 / 04:23