Páginas

Mostrando entradas con la etiqueta Windows Update. Mostrar todas las entradas
Mostrando entradas con la etiqueta Windows Update. Mostrar todas las entradas

07 noviembre, 2020

Instalar características RSAT en Windows 10 cuando WSUS bloquea su descarga

A partir de las últimas versiones de Windows 10 las RSAT (Remote Desktop Services Tools) ya no se descargan e instalan como un paquete de actualizaciones de Microsoft. Sino que se incorporan como características avanzadas independientes que podemos descargar/instalar directamente desde el nuevo panel de configuración del sistema.

En el caso de que estemos trabajando en una máquina Windows 10 bajo un entorno de actualizaciones controladas por WSUS (Windows Server Update Services) es muy probable que el propio servidor WSUS esté bloqueando la descarga de las características RSAT.

Comprobar si las actualizaciones están controladas por WSUS

Para comprobar que el equipo está controlado por un servidor WSUS podemos comprobar la siguiente rama del registro.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate

Si vemos que los valores "WUServer" y "WUStatusServer" existen y apuntan a una dirección, normalmente HTTP puerto 8530 o HTTPS puerto 8531 con un nombre DNS interno significará que nuestro equipo recibe actualizaciones controladas directamente de un servidor WSUS.

¿Cómo instalar RSAT bajo un entorno controlado por WSUS?

Para poder instalar RSAT desde las características avanzadas del nuevo panel de control, abrimos un regedit en un contexto privilegiado como administradores, siguiendo la rama anterior, localizamos la siguiente rama.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU

La clave "AU" nos indica la sección de "Actualización automáticas de Windows Update". Aquí vemos el siguiente valor "UseWUServer" y lo establecemos a un valor 0.

  • 1 = Obtiene actualizaciones de un servidor WSUS.
  • 0 = Obtiene actualizaciones de Microsoft Update.

Abrimos una consola PowerShell como administrador y reiniciamos el servicio wuauserv "Windows Update Agent Service".

Restart-Service wuauserv

Ahora ya podemos añadir las características RSAT que queremos, una vez instaladas ya podemos habilitar de nuevo a través del registro la obtención de actualizaciones a través de WSUS.

Figura 1: Instalar características RSAT deshabilitando WSUS. 

Saludos!

23 septiembre, 2020

Instalar paquetes de actualizaciones .msu en Windows con expand y dism

Cuando nos descargamos parches directamente de Microsoft Update Catalog normalmente el formato estándar suele ser una extensión .msu (Microsoft Update Standalone Installer) del paquete de actualización con su KB identificativo.

Para instalar un paquete de actualización de forma independiente sin hacerlo través de las Windows Update de Microsoft Windows, es tan sencillo como ejecutar con doble clic el fichero msu de instalación y esperar a que finalice el proceso. Aunque no siempre ocurre así y resulta costoso realizar la instalación.

Recientemente instalado el paquete de actualización que corrige la vulnerabilidad crítica CVE-2020-1472 conocida como "Zerologon" de la cual hablé en Linkedin. Quería aplicar este parche en un Windows Server 2019 el parche correspondiente al KB4565349 encontrándome un error de incompatibilidad con el computador en el momento de aplicar el parche.

Figura 1: Error de instalación Windows Update Standalone "actualización no es aplicable".

Una forma para resolver este tipo de problema de incompatibilidad en la aplicación de Updates. Es realizarlo de forma manual haciendo uso de las herramientas en línea de comandos expand y dism (Deployment Image Servicing and Management). Con expand podemos descomprimir el paquete .msu obteniendo así los ficheros .cab y con dism añadimos el paquete de actualización correspondiente al fichero principal .cab a la imagen de Windows en actual indicando el parámetro /Online.

Aplicar paquetes de actualización .msu con expand y dism

Una vez descargado el fichero .msu lo movemos en un directorio raíz. Por ejemplo "C:\Updates\paquete.msu" (previamente creamos esta nueva carpeta).

Con expand descomprimimos el paquete .msu, veremos varios ficheros y algunos .cab.

expand -f:* C:\Updates\paquete.msu C:\Updates\

El parámetro -f especifica los archivos de un archivo contenedor (. cab) que se desea expandir. Puede usarse caracteres comodín (* o ?).

Con dism añadimos el fichero .cab de mayor tamaño a la imagen de Windows actual y esperamos a que termine el proceso.

# CMD
dism.exe /Online /Add-package /Packagepath:"C:\Updates\paquete.cab"

# PowerShell
Add-WindowsPackage -Online -PackagePath "C:\Updates\paquete.cab"

Una vez hecho esto reiniciamos la máquina. Para comprobar que la actualización se instalado correctamente podemos listar las updates instaladas en el sistema.

# CMD
systeminfo

# PowerShell
Get-HotFix

Restaurar configuración Windows Updates

Esto se escapa del caso particular anterior pero lo comento como información adicional. En el caso de que no sea posible aplicar actualizaciones de Windows de la forma tradicional y automática a través de las Windows Updates, una solución que suele funcionar en la mayoría de casos es renombrar o eliminar, dependiendo el caso y el espacio en disco del que se disponga, la carpeta donde se descargan por defecto los paquetes de actualizaciones SoftwareDistribution.

Cuando buscamos nuevas actualizaciones en Windows estas se descargan por defecto en la carpeta "C:\Windows\SoftwareDistribution" una vez descargas Windows aplica/instala estas actualizaciones en el sistema y después de un reinicio las sigue manteniendo en esta ubicación. Una forma de liberar espacio en disco y también restaurar su configuración en caso de errores en el momento de descarga o aplicación de las updates de Windows es:

  • 1. Renombrar la carpeta SoftwareDistribution
  • 2. Intentar descargar y aplicar las nuevas actualizaciones.
  • 3. Eliminar la carpeta vieja renombrada.

Al renombrar esta carpeta Windows no puede encontrar el directorio por lo que la creará de nuevo y cargará la configuración inicial por defecto en lo relacionado a Windows Update.

Para poder renombrar esta carpeta, previamente es necesario detener los procesos que funcionan como servicios de Windows que hacen uso de ella. Ejecutamos una consola cmd con privilegios administrativos.

net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver

Ya en consola podemos renombrarla directamente.

ren C:\Windows\SoftwareDistribution SoftwareDistribution_old

Volvemos arrancar nuevamente los servicios.

net start wuauserv
net start cryptSvc
net start bits
net start msiserver

Comprobamos nuevamente si existen nuevas actualizaciones, esperamos a que se descarguen e instalen, reiniciamos el sistema y eliminamos la carpeta renombrado "SoftwareDistribution_old".

Espero que estas dos posibles soluciones puedan resultar de ayuda.

Saludos!

18 marzo, 2015

Desinstalar/instalar actualizaciones remotamente de Windows Update

Si en nuestra organización corporativa necesitamos desinstalar, de forma remota a otro equipo de la red, ciertas actualizaciones (KB: Knowledge Base) de Windows proporcionadas por las Windows Update. Podemos hacerlo primeramente con psexec, pequeña utilidad incorporada en las PsTools (suite de herramientas de gestión remota que comentara ya en este blog) y a continuación usando una herramienta nativa de Windows el "Instalador Independiente de Windows Update" (Windows Update Standalone Installer) WUSA.

WUSA es una herramienta en modo de comandos, por lo que necesitaríamos ejecutar en el equipo remoto una CMD de manera subyacente. Para que, en este caso, esta desinstalación sea transparente al usuario final.

Haciendo uso de PsExec (como ya dije, incluido en la suite de PsTools). Ejecutamos esto en una consola CMD de nuestro equipo local con privilegios.
psexec \\EquipoRemoto -u UserAdmin -p Password cmd.exe
Donde: EquipoRemoto es el nombre o IP del equipo remoto al que nos queremos conectar, UserAdmin sería un usuario con privilegios de administrador y Password es la contraseña del usuario UserAdmin, acto seguido indicamos la aplicación a ejecutar de forma remota, que para este caso usaremos cmd.exe.

Una vez tengamos acceso al equipo remoto de la organización a través de esa instancia por CMD. Simplemente tenemos que saber el número que identifica a la KB a desinstalar.
Si no estamos seguros de si el equipo remoto la tiene o no instalada dicha actualización, sencillamente con el comando SYSTEMINFO.

Entre otras informaciones podremos ver las actualizaciones instaladas en el equipo listadas, en las que se muestra el ID de la KB.

Figura 1: Listado de actualizaciones instaladas en el equipo, con el comando Systeminfo.

De este modo sabremos si la actualización que queremos desinstalar ya está instalada en el equipo remoto.

Para la desinstalar la actualización, escribimos en la CMD remota:
wusa /uninstall /kb:IDactualizacion
Donde: IDactualizacion sería el número ID de la KB a identificar para su desinstalación.

En el siguiente ejemplo la actualización a desinstalar sería la "kb:2981653"

Figura 2: Desinstalando actualización con wusa.

Espero que esto pueda ser de utilidad para aquellos que deseen desintalar actualizaciones de forma remota y subyacente al usuario final, en equipos de un mismo workspace.

Instalar actualizaciones en remoto

Añado que: WUSA es, como ya dije, el instalador independiente de Windows Update, es decir; que no solo vale para desinstalar actualizaciones sino que también podríamos instalarlas.

Para más información el caso de instalar alguna actualización en remoto y de que forma hacerla, consultar la ayuda con:
 wusa /?
Saludos!

Entradas Populares