Below é o guia que utilizo quando se resolve um problema numa instalação WSUS avariada. Isto pode se manifestar como um erro no console do servidor, o sempre popular “ele não está simplesmente reportando dentro”, ou através do log de eventos. Eu vou guiá-lo através dos componentes do WSUS e como verificar e ter certeza que cada um está funcionando corretamente.
Primeiro uma nota sobre o que está disponível em sua plataforma.
Se você está no Windows 7/8/Server 2008R2/2012R2 então wuauclt
funciona para você.
O único comando real que você precisa saber é wuauclt /resetauthorization /detectnow
.wauauclt /reportnow
não faz o que você pensa e não é muito útil.
>
Se você está no Windows 10/Server 2016 então o wuauclt foi depricated e você tem UsoClient
.usoclient.exe startscan
para detectar patches ausentesusoclient.exe refreshsettings
para atualizar as configurações se alguma alteração foi feitausoclient.exe startdownload
para baixar os patchesusoclient.exe startinstall
para instalar os patches
>
Você também tem a opção de usar Powershell para iniciar um pedido de scan.
(New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow()
Fala de Powershell, a Microsoft disponibiliza um número de cmdlets para gerenciar o WSUS Server. Para ver se estes estão disponíveis para você executar
Get-Command -Module UpdateServices
Estes cmdlets são primariamente voltados para a implantação e gerenciamento do servidor, patches e computadores, não para a solução de problemas.
No cliente existe um módulo WindowsUpdate mas sua única função é Get-WindowsUpdateLog que é usado para gerar um arquivo WindowsUpdate.log legível no Windows 10.
Existe um módulo PS de terceiros para gerenciar o Windows Update no cliente.
Install-Module PSWindowsUpdate Import-Module PSWindowsUpdate Add-WUServiceManager -ServiceID 7971f918-a847-4430-9279-4a52d1efe18d Get-Command -Module PSWindowsUpdate Get-WUList –MicrosoftUpdate Get-WUInstall –MicrosoftUpdate –AcceptAll –AutoReboot
Base de dados
WSUS tem a opção de utilizar uma WID interna (Windows Internal DB) ou banco de dados SQL. Vou assumir que ele está instalado com WID no caminho padrão de C:\Windows\WID\
.
Erros relacionados a banco de dados (além da fragmentação) geralmente ocorrem no momento da instalação, muitas vezes durante a seqüência de tarefas pós-instalação.
Embora seja possível ligar à WID e largar o SUSDB, os erros nesta fase são normalmente melhor corrigidos através de uma desinstalação completa e reinstalação.
Para fins de referência, eu vou declarar que você pode usar o SQLCMD ou SQL Mgmt Studio para se conectar ao DB.
A string de conexão é np:\.\pipe\MICROSOFT##WID\tsql\query
select name from sys.sysdatabasesdrop table susdbselect name from sys.sysdatabases
Desinstalação
Desinstalar usando o Server Manager.
Certifique-se de que a pasta de conteúdo do WSUS desapareceu, assim como o site de Administração do IIS WSUS.
Desinstalar o WSUS nem sempre remove a WID. Remova-o no Powershell com Uninstall-WindowsFeature -Name windows-internal-database
Reboot e exclua c:\windows\WID\SUSDB.mdf
e SUSDB_log.ldf
files.
Installation
Along with selecting the WSUS Role, Windows instala ASP.NET 4.6, RSAT Tools, IIS, and the Windows Process activation service.
>
Instalar a partir de um prompt administrativo Powershell
Install-WindowsFeature -Name Updateservices,UpdateServices-WidDB,UpdateServices-services -IncludeManagementTools
Antes de lançar a GUI, execute:
Verifique o cliente
Existem várias causas potenciais para que um cliente não receba atualizações. Vou passar por uma série de passos de resolução de problemas e no final dar dois scripts para “resetar” o cliente se nada mais funcionar.
>
Verificar espaço livre no disco rígido.
Verificar o log do Windowsupdate.
No Windows 10 abra um prompt de poderes administrativos e execute Get-Windowsupdatelog
. O log estará na área de trabalho. Aguarde o comando terminar a execução.
No Windows 7 verifique C:\Windows\WindowsUpdate.log
Isso deve indicar se o problema é baseado no cliente ou um problema de comunicação para um terminal remoto.
O primeiro passo mais simples na solução de problemas do cliente é executar o Windows Update Troubleshooter.
No Windows 10 vá para o site do Microsoft iFixIt for WSUS.
Isso irá solicitar que você faça o download do Windows Update Troubleshooter (no formato de arquivo da cabine). Salve-o e execute-o.
Seleccionando o Windows 7 nesta página, você deverá clicar com o botão direito do mouse em Rede (na bandeja do sistema) e em “Problemas de solução de problemas”. Você provavelmente pode pular este passo.
No Windows 10 tente uma verificação de atualização on-line.
Cheque para ter certeza de que o serviço está sendo executado.Get-Service -Name wuauserv
>
Próxima verificação e certifique-se de que o cliente está recebendo configurações do WSUS da Política de Grupo.
Executar gpresult /scope computer
para ver se a sua política de configurações do WSUS está sendo aplicada à máquina.
Perguntar registro de cliente para configurações do WSUS com Get-ItemProperty HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate
Telnet pode ser usado para verificar problemas de conectividade da porta. Se você tentar uma conexão telnet a uma porta aberta e acessível telnet abrirá uma nova janela de comando em branco. Se a porta estiver inacessível o comando irá simplesmente falhar. Tente estabelecer uma conexão com o servidor e porta do WSUS. Se a conexão falhar verifique as configurações do firewall.telnet wsus.server.com 8530
Vamos usar o Powershell para testar a conectividade.Test-NetConnection -ComputerName <WSUS_Server> -Port 8530 -InformationLevel Detailed
Não se esqueça do passo óbvio de verificar o log de eventos.
Log de eventos de aplicação assim como logs de aplicações e serviços >Microsoft > Windows > WindowsUpdateClient
>
Antivírus ou outros agentes de segurança endpoint podem interferir com as comunicações de rede. Considere desativá-los ou desinstalá-los para testes.
Executar sfc /scannow
a partir de um prompt de comando administrativo para verificar a corrupção de arquivos que podem afetar o cliente.
Se você tiver clientes funcionando e não funcionando no WSUS verifique c:\program files\update services\WebServices\ClientWebServices
para um arquivo web.config
e compare um arquivo de trabalho com um arquivo não funcional para diferenças.
Se esse cliente vem de uma imagem de SO e o Sysprep não foi executado, o problema pode ser que vários clientes estão usando a mesma chave SUSClientID.
Cheque HKLM\Software\Microsoft\Windows\CurrentVersion\WIndowsUpdate
e apague o actual SUSClientID
.
Executar wuauclt /resetauthorization /detectnow
de um prompt de comando elevado.
A sequência abaixo irá limpar o cache local do cliente Windows Update
A sequência abaixo irá registar novamente uma máquina com o servidor WSUS:
Cheque o servidor
Cheque espaço livre no disco rígido, para o volume de arranque e volume do repositório.
>
Cheque o serviço Windows UpdateGet-Service -name WsusService
>
Cheque o serviço IISGet-Service -name W3SVC
>
Servidor está escutando? Verifique as portas abertas.netstat -an | findstr 853*
Pode navegar até
You should see a blue and tan Client Service info page.
If not, we can try resetting the port. Open an elevated command prompt and run wsusutil usecustomwebsite false
. Isto irá mudar a porta que o WSUS usa de 8530 para 80, portanto certifique-se de que nada está rodando na porta 80.
Executar agora wsusutil usecustomwebsite true
seguido de iisreset /restart
. Isto altera a porta de volta para 8530 e "reinicia" a configuração.
Verifica as regras de firewall.
Verifica o registo do lado do servidor: c:\program files\updateservices\logfiles\SoftwareDistribution
Executar sfc /scannow
para verificar a corrupção de ficheiros.
WSUSUtil.exe
-
wsusutil.exe reset
- Verifica que cada linha de metadados de actualização na base de dados tem ficheiros de actualização correspondentes armazenados no sistema de ficheiros. Se os ficheiros de actualização estiverem em falta ou tiverem sido corrompidos, o WSUS descarrega os ficheiros de actualização novamente.
-
wsusutil.exe checkhealth
- Verifica o Eventlog de aplicações para entradas com o código fonte “Windows Server Update Services”
-
wsusutil.exe usecustomwebsite
- Altera a porta que o WSUS utiliza. Também “reinicia” a porta durante a mudança.
IIS
Verifica erros de conexão http em c:\windows\system32\logfiles\httperr\
Verifica ligações de IP.
Verifica se o Application Pool está em execução.
Cheque logs IIS para erros de conexão c:\inetpub\logs\logfiles
A instalação padrão do IIS pelo instalador do WSUS não instala o componente de log, no entanto.
Você precisa habilitar isto em Manage Computer > Roles > Web Server > Web Server > Health & Diag > HTTP Logging
>
E lá você tem. Se seguir este guia não resolveu o problema, espero que você pelo menos tenha encontrado o componente com defeito e tenha uma ideia melhor de onde focar as suas pesquisas no Google.