quinta-feira, 9 de agosto de 2012

WSUS não Atualiza Desktops XP


Certo dia alguns desktops com Windows XP simplesmente não estavam mais atualizando através do WSUS. Realizei uma série de pesquisas e configurações, mas nenhum acabou surtindo o efeito desejado.
Depois de muitas pesquisas e análises do LOG do WSUS em um cliente, juntamente com as configurações testadas acima, encontrei uma solução para o problema. Gostaria de dizer que ela funcionou no meu caso, mas com são muitas opções/erros que podem acontecer, em certos casos, ela poderá não ser muito útil.
Ai vai ela:

:: Atualização no Servidor WSUS
Aplique a atualização WSUS-KB272011 referente à sua plataforma (x86 ou x64).

:: Teste de Conexão
Você pode realizar a conexão com o WSUS utilizando o utilitário WSUS Client Diagnost Tool. Esta ferramenta mostra como está a saúde da conexão entre o Cliente e o Servidor de Atualização.

:: Verificação de LOGs
Para a verificação de LOGs utilizei um aplicativo com o nome de Tail for Win32. Facilitou muito para mim a visualização dos acontecimentos dentro do arquivo c:\WINDOWS\WindowsUpdate.log.

:: Mão na Massa
De posse dos artifícios mencionados, execute o programa “TAIL”, abra o arquivo “C:\WINDOWS\WindowsUpdate.log” e clique no botão “Resume Scrolling” para iniciar o monitoramento do arquivo. Abra um “Prompt de Comando” e execute o comando wuauclt /detectnow. Fique de olho no TAIL. Surgirá uma linha informando uma falha no download e qual a atualização que está apresentando problema (Veja exemplo abaixo).

DnldMgr    Failed file: URL = 'http://wsus/Content/44/2B03B54C0972C16AB6CE75F42AC4877AF87CE844.exe', Local path = 'C:\WINDOWS\SoftwareDistribution\Download\789de410a60b090acadde68e4e4933ac\2b03b54c0972c16ab6ce75f42ac4877af87ce844'

DnldMgr    Error 0x80246002 occurred while downloading update; notifying dependent calls.

O texto sublinhado no log acima era a atualização que estava bloqueando as atualizações no Windows XP. De posse do nome da atualização problemática, vá para o servidor WSUS, abra a pasta que contem os repositórios da atualização e localize a pasta “44” (Ex.: C:\WSUS\WsusContent\44).

Iremos para os serviços de atualização, excluir a pasta, resetar as atualizações e reiniciar os serviços novamente. Para isso, abra o “Prompt de Comando” no Servidor WSUS e digite os seguintes comandos:

C:\>net stop wuauserv
C:\>net stop bits

Exclua a pasta que possui a atualização com problemas. Então:

C:\>Program Files\Updates Services\Tools\wsusutil.exe reset
C:\>net start wuauserv
C:\>net start bits

Vá para o Desktop no “Prompt de Comando” e execute os seguintes comandos:

C:\>net stop wuauserv
C:\>net stop bits

Exclua a pasta "C:\WINDOWS\SoftwareDistribution"

C:\>net start wuauserv
C:\>net start bits
C:\>wuauclt /resetauthorization /detectnow

Fique de olho nos LOGs e confirme se atualização com problema não é mais exibida. Da forma descrita acima, consegui contornar o problema de atualização dos Desktops Windows XP através do WSUS. No meu caso a atualização era do .NET Framework 3.0, e como a versão atual era 3.5, não tive receio nenhum em manda-la para o espaço.

Valeu!