Pasos para la solución de problemas de WSUS

A continuación se presenta la guía que utilizo para solucionar una instalación de WSUS que no funciona. Esto puede manifestarse como un error de la consola del servidor, el siempre popular «simplemente no está informando», o a través del registro de eventos. Te guiaré a través de los componentes de WSUS y cómo comprobar y asegurarse de que cada uno está funcionando correctamente.

Primero una nota sobre lo que está disponible en tu plataforma.
Si estás en Windows 7/8/Server 2008R2/2012R2 entonces wuauclt funciona para ti.
El único comando real que necesitas saber es wuauclt /resetauthorization /detectnow.
wauauclt /reportnow no hace lo que piensas y no es muy útil.

Si estás en Windows 10/Server 2016 entonces wuauclt ha sido deprimido y tienes UsoClient.
usoclient.exe startscan para detectar parches faltantes
usoclient.exe refreshsettings para refrescar la configuración si se hizo algún cambio
usoclient.exe startdownload para descargar parches
usoclient.exe startinstall para instalar parches

También tienes la opción de usar Powershell para iniciar una solicitud de análisis.

(New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow()

Hablando de Powershell, Microsoft pone a su disposición una serie de cmdlets para gestionar el servidor WSUS.Para ver si están disponibles ejecute

Get-Command -Module UpdateServices

Estos cmdlets están orientados principalmente a la implementación y gestión del servidor, los parches y los equipos, no a la resolución de problemas.

En el cliente existe un módulo WindowsUpdate pero su única función es Get-WindowsUpdateLog que se utiliza para generar un archivo WindowsUpdate.log legible en Windows 10.

Existe un módulo PS de terceros para gestionar Windows Update en el 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 datos

WSUS tiene la opción de utilizar una base de datos interna WID (Windows Internal DB) o SQL. Voy a suponer que se instala con WID en la ruta predeterminada de C:\Windows\WID\.
Los errores relacionados con la base de datos (aparte de la fragmentación) suelen producirse en el momento de la instalación, a menudo durante la secuencia de tareas posteriores a la instalación.
Aunque es posible conectarse al WID y soltar el SUSDB, los errores en esta fase suelen solucionarse mejor mediante una desinstalación y reinstalación completas.
Para fines de referencia indicaré que se puede utilizar tanto SQLCMD como SQL Mgmt Studio para conectarse a la DB.
La cadena de conexión es np:\.\pipe\MICROSOFT##WID\tsql\query

select name from sys.sysdatabasesdrop table susdbselect name from sys.sysdatabases

Desinstalación

Desinstalar utilizando Server Manager.
Asegúrese de que la carpeta de contenido de WSUS ha desaparecido así como el sitio de administración de IIS WSUS.
La desinstalación de WSUS no siempre elimina el WID. Elimínelo en Powershell con Uninstall-WindowsFeature -Name windows-internal-database
Reiniciar y eliminar los archivos c:\windows\WID\SUSDB.mdf y SUSDB_log.ldf.

Instalación

Además de seleccionar el rol de WSUS, Windows instala ASP.NET 4.6, RSAT Tools, IIS y el servicio de activación de procesos de Windows.

Instalar desde un prompt de Powershell administrativo

Install-WindowsFeature -Name Updateservices,UpdateServices-WidDB,UpdateServices-services -IncludeManagementTools

Después, antes de lanzar la GUI, ejecutar:

Comprobar el cliente

Hay bastantes causas potenciales para que un cliente no reciba actualizaciones. Voy a ir a través de una serie de pasos de solución de problemas y al final dar dos secuencias de comandos para «restablecer» el cliente si nada más funciona.

Compruebe el espacio libre en el disco duro.

Compruebe el registro de Windowsupdate.
En Windows 10 abrir un símbolo del sistema administrativo powershell y ejecutar Get-Windowsupdatelog. El registro estará en el escritorio. Espere a que el comando termine de ejecutarse.
En Windows 7 compruebe C:\Windows\WindowsUpdate.log
Esto debería indicar si el problema se basa en el cliente o es un problema de comunicación con un punto final remoto.

El primer paso más sencillo para solucionar el problema del cliente es ejecutar el Solucionador de problemas de Windows Update.
En Windows 10 vaya al sitio de Microsoft iFixIt for WSUS.
Esto le pedirá que descargue el Solucionador de problemas de Windows Update (en formato de archivo cab). Guárdelo y ejecútelo.
Seleccionando Windows 7 en esta página le pedirá que haga clic con el botón derecho en Red (en la bandeja del sistema) y «Solucionar problemas». Probablemente puede omitir este paso.

En Windows 10 intente una comprobación de actualizaciones en línea.

Compruebe que el servicio se está ejecutando.
Get-Service -Name wuauserv

A continuación, compruebe y asegúrese de que el cliente está recibiendo la configuración de WSUS desde la directiva de grupo.
Ejecute gpresult /scope computerpara ver si su política de configuración de WSUS se está aplicando a la máquina.
Consulte el registro del cliente para la configuración de WSUS con Get-ItemProperty HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate

Telnet se puede utilizar para comprobar los problemas de conectividad del puerto. Si se intenta una conexión telnet a un puerto abierto y accesible telnet abrirá una nueva ventana de comandos en blanco. Si el puerto es inaccesible, el comando simplemente fallará. Intente establecer una conexión con el servidor WSUS y el puerto. Si la conexión falla compruebe la configuración del firewall.
telnet wsus.server.com 8530

Usemos Powershell para probar la conectividad.
Test-NetConnection -ComputerName <WSUS_Server> -Port 8530 -InformationLevel Detailed

No olvide el paso obvio de comprobar el registro de eventos.
Registro de eventos de aplicaciones así como registros de aplicaciones y servicios >Microsoft >Windows >WindowsUpdateClient

A veces los antivirus u otros agentes de seguridad de los puntos finales pueden interferir con las comunicaciones de la red. Considere la posibilidad de deshabilitarlos o desinstalarlos para las pruebas.

Ejecute sfc /scannow desde un símbolo del sistema administrativo para comprobar si hay corrupción de archivos que pueda afectar al cliente.

Si tiene clientes que funcionan y otros que no funcionan en WSUS, compruebe c:\program files\update services\WebServices\ClientWebServices para ver si hay un archivo web.config y compare un archivo que funciona con otro que no funciona para ver las diferencias.

Si este cliente procede de una imagen del sistema operativo y no se ha ejecutado Sysprep, el problema puede ser que varios clientes estén utilizando la misma clave SUSClientID.
Compruebe HKLM\Software\Microsoft\Windows\CurrentVersion\WIndowsUpdate y elimine el SUSClientID actual.
Ejecute wuauclt /resetauthorization /detectnow desde un símbolo del sistema elevado.

La siguiente secuencia borrará la caché local del cliente de Windows Update
La siguiente secuencia volverá a registrar un equipo con el servidor WSUS:

Compruebe el servidor

Compruebe el espacio libre en el disco duro, para el volumen de arranque y el volumen del repositorio.

Comprobar el servicio de Windows Update
Get-Service -name WsusService

Comprobar el servicio IIS
Get-Service -name W3SVC

¿Está escuchando el servidor? Compruebe los puertos abiertos.
netstat -an | findstr 853*

Puede navegar a
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. Esto cambiará el puerto que usa WSUS de 8530 a 80, así que asegúrate de que no hay nada ejecutándose en el puerto 80.
Ahora ejecute wsusutil usecustomwebsite true seguido de iisreset /restart. Esto cambia el puerto de nuevo a 8530 y "restablece" la configuración.

Comprueba las reglas del cortafuegos.
Comprueba el registro del lado del servidor: c:\program files\updateservices\logfiles\SoftwareDistribution
Ejecutar sfc /scannowpara comprobar si hay corrupción de archivos.

WSUSUtil.exe
  • wsusutil.exe reset
    • Comprueba que cada fila de metadatos de actualización en la base de datos tiene los correspondientes archivos de actualización almacenados en el sistema de archivos. Si los archivos de actualización faltan o se han corrompido, WSUS descarga los archivos de actualización de nuevo.
  • wsusutil.exe checkhealth
    • Comprueba el registro de eventos de la aplicación en busca de entradas con el origen «Windows Server Update Services»
  • wsusutil.exe usecustomwebsite
    • Cambia el puerto que utiliza WSUS. También «resetea» el puerto durante el cambio.

IIS

Comprueba si hay errores de conexión http en c:\windows\system32\logfiles\httperr\

Comprueba los enlaces IP.
Comprueba que el Pool de Aplicaciones se está ejecutando.

Compruebe los registros de IIS para los errores de conexión c:\inetpub\logs\logfiles
La instalación de IIS por defecto por el instalador de WSUS no instala el componente de registro sin embargo.
Necesita habilitar esto en Manage Computer > Roles > Web Server > Web Server > Health & Diag > HTTP Logging

Y ahí lo tiene. Si al seguir esta guía no se ha solucionado el problema, espero que al menos hayas dado con el componente que funciona mal y tengas una mejor idea de dónde enfocar tus búsquedas en Google.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.