Actualizar un sistema operativo, como es el caso de Windows 10 o Windows 11, es muy importante. Gracias a los parches vamos a poder poner nuestro PC al día, corregir todo tipo de errores y fallos que puedan darnos problemas en el día a día, e incluso tapar posibles brechas de seguridad que puedan suponer un peligro a la hora de conectarnos a Internet. La forma por defecto de actualizar Windows es hacerlo desde Windows Update. Sin embargo, existen otros trucos que nos permiten bajar e instalar estas actualizaciones. Y uno de los más interesantes es el de actualizar el PC desde CMD o PowerShell.
Si bien la interfaz gráfica de Windows es el método de interacción principal, la línea de comandos, ya sea con CMD o PowerShell, ofrece una potencia y flexibilidad inigualables para tareas específicas, como la automatización de actualizaciones o la resolución de problemas cuando Windows Update falla.
CMD es la consola de Windows heredada de MS-DOS. Desde ella poder ejecutar programas básicos y ejecutar los comandos típicos de la era de antes de Windows para controlar el sistema y determinadas funciones del sistema operativo. Por otro lado, PowerShell es la consola avanzada de Microsoft que nos permite administrar sin problemas prácticamente cualquier aspecto del sistema operativo, una consola mucho más avanzada con la que poder hacer, prácticamente, de todo.
Por supuesto, ambas herramientas pueden utilizarse para bajar e instalar los últimos parches de Windows fácilmente. A continuación, os explicamos cómo.
| Método | Ventajas | Desventajas | Ideal para |
|---|---|---|---|
| Windows Update (GUI) | Automático, sencillo, detecta la versión correcta del parche. | Menos control, puede fallar o dar errores, reinicios programados. | La mayoría de los usuarios domésticos. |
| CMD (UsoClient) | Rápido, útil para forzar un escaneo si la GUI falla, scripting básico. | Funcionalidad limitada, comandos poco intuitivos, sin gestión avanzada. | Solucionar problemas puntuales de Windows Update. |
| PowerShell (PSWindowsUpdate) | Máximo control, gestión granular (instalar/ocultar KBs), ideal para automatización y gestión de múltiples equipos. | Requiere instalación de un módulo, curva de aprendizaje, riesgo de seguridad si se configura mal. | Administradores de sistemas y usuarios avanzados. |
Actualizar Windows desde CMD
CMD es la consola más básica tanto de Windows 10 como de Windows 11. Y, aunque ciertas tareas avanzadas no se pueden realizar desde ella, Microsoft cuenta con un comando específico para analizar el sistema, buscar actualizaciones y bajarlas muy rápidamente.
Para poder usar estos comandos, lo primero que debemos hacer es ejecutar CMD, con permisos de Administrador, desde el buscador de Windows. Es importante ejecutarlo como administrador, ya que de lo contrario no podremos usar esta herramienta.
Los comandos que debemos ejecutar en una ventana de CMD de Windows 10 o Windows 11 para actualizar el sistema son:
- UsoClient StartScan (para empezar a escanear el sistema)
- UsoClient StartDownload (para empezar a descargar los parches)
- UsoClient StartInstall (para empezar a instalar los parches descargados)
- UsoClient RefreshSettings (actualiza si hay cambios disponibles)
- UsoClient RestartDevice (reiniciar el ordenador para terminar la instalación)
Además, también podemos sustituir los comandos anteriores por el siguiente, ya que se encargará de analizar el sistema, descargar los parches disponibles e instalarlos en el PC:
- UsoClient ScanInstallWait
Cada uno de estos comandos se debe ejecutar en orden y esperar a que termine su proceso para ejecutar el siguiente. Estos comandos están pensados sobre todo para usuarios avanzados, pero además son los que utiliza el propio Windows para automatizar las actualizaciones como tareas programadas, por lo que no habrá problemas a la hora de utilizarlos.
En caso de que el sistema nos devuelva un error al ejecutar cualquier comando, ya sea en CMD o en PowerShell, lo primero que debemos hacer es verificar la sintaxis, ya que tanto comandos como parámetros deben estar correctamente escritos. Aunque no sea habitual para usuarios de entornos gráficos, dominar la interfaz de comandos permite gestionar tareas, como actualizar Windows, de una forma mucho más precisa y eficiente.
Actualizar Windows 7/8.1 con comandos
Los comandos que acabamos de ver solo funcionan en Windows 10 y Windows 11. Por lo tanto, si tenemos un sistema operativo anterior, como Windows 7 u 8.1, no podremos hacer uso de ellos. Para estos sistemas tendremos que recurrir a otros comandos alternativos que nos permitan hacer, a grandes rasgos, lo mismo.
Para las versiones anteriores del sistema operativo, los comandos que debemos ejecutar son los siguientes:
wuauclt /detectnow
wuauclt /updatenow
wuauclt /detectnow /updatenow
Por supuesto, estos comandos tendremos que ejecutarlos en orden secuencial, del primero al último. Así, el sistema buscará las actualizaciones, las bajará y, por último, las instalará. Cuando acabe, puede que tengamos que reiniciar el ordenador manualmente para que se completen las configuraciones, ya que, si no lo hacemos, podremos tener problemas.
*Atención*
Os recordamos que tanto Windows 7 como Windows 8.1 han llegado al fin de su ciclo de vida y ya no reciben actualizaciones de seguridad desde enero de 2020 y enero de 2023, respectivamente. Ni siquiera ejecutando estos comandos tendremos acceso a nuevas actualizaciones.
Utilizar estos sistemas operativos te expone a graves vulnerabilidades. Microsoft recomienda encarecidamente actualizar a una versión con soporte, como Windows 11. Los comandos que acabamos de ver son para fines educativos o para su uso en entornos aislados. Y siempre bajo tu propia responsabilidad.
Actualizar Windows usando PowerShell
Si lo que queremos es tener más control sobre el proceso, crear scripts fácilmente, o simplemente ser unos «powerusers», entonces podemos hacer esto mismo usando directamente la consola de PowerShell. Igual que con CMD, lo primero que debemos hacer es asegurarnos de ejecutar PowerShell con permisos de Administrador para poder usar todo su potencial sin problemas. Utilizar PowerShell es ideal si el número de equipos que supervisamos (en el trabajo o en el hogar) es muy elevado y no queremos ir puesto por puesto esperando a que las actualizaciones se descarguen e instalen.
Para muchos usuarios avanzados del sistema operativo de Microsoft, PowerShell es una herramienta que supone un claro avance y sustituto sobre CMD. Esto les permite tener un control mayor sobre determinadas funciones de Windows y llevar a cabo tareas que no se podrían realizar ni desde la interfaz gráfica ni desde el mencionado CMD. En muchos casos, todo esto a través de scripts que se desarrollan y personalizan en función de lo que necesitemos.
Además de la versión de PowerShell que viene instalada de serie en Windows, la terminal avanzada de Microsoft también tiene una versión mucho más completa, totalmente gratis y de código abierto, que podemos descargar desde su repositorio de GitHub, en este enlace.
Una vez que la tengamos abierta, lo primero que tendremos que hacer es instalar el módulo correspondiente. Para ello, ejecutaremos el siguiente comando en la consola: «Install-Module PSWindowsUpdate». Puede que para instalar el módulo tengamos que confirmar un par de preguntas para descargar las dependencias que sean necesarias. Debemos contestar «Sí» a todas las preguntas para que se baje e instale todo lo necesario.
Una vez acabada la instalación, lo único que debemos hacer para actualizar Windows es ejecutar «Get-WindowsUpdate». Este comando se encarga él solo de buscar actualizaciones y mostrarnos una lista con todas las disponibles.
De hecho, este es un comando que se utiliza mucho tanto para actualizar el propio sistema como tal, como determinadas aplicaciones que forman parte de este. De ahí precisamente la importancia que tiene para aquellos que quieren tener el máximo control sobre Windows y determinadas tareas.
En caso de tener actualizaciones, podemos instalarlas todas ellas usando el parámetro «-Install», o ejecutar el siguiente comando indicando los KB de las actualizaciones que queremos instalar:
Get-WindowsUpdate -KBArticleID KB2267602, KB4533002 -Install
Cuando acabe el proceso ya tendremos nuestro Windows actualizado. Eso sí, puede que necesitemos reiniciar el ordenador al acabar para que todos los cambios surtan efecto.
Desde PowerShell también podemos ejecutar los comandos «UsoClient» de CMD, ya que son compatibles.
Por seguridad, Windows utiliza un sistema de Políticas de Ejecución (Execution Policies) para controlar qué scripts de PowerShell pueden ejecutarse. Por defecto, la política es «Restricted» para prevenir la ejecución accidental de código potencialmente dañino. En caso de que esto ocurra, al intentar ejecutar el comando anterior podremos ver un mensaje de error que nos indicará que no se ha podido cargar el módulo correspondiente. Si ejecutar el comando «Get-ExecutionPolicy» podremos ver cómo PowerShell nos devuelve un «Restricted».
Para poder ejecutar sin problemas estos comandos, lo que debemos hacer es cambiar la política de seguridad de Windows de «restringida» a «sin restricciones». Y esto podemos hacerlo fácilmente ejecutando simplemente el comando «Set-ExecutionPolicy Unrestricted».
Una vez hecho, ya debería funcionarnos este comando sin problemas. Y todos los demás que vayamos a ejecutar desde la consola avanzada de Windows. Eso sí, debemos tener en cuenta que este cambio reduce drásticamente la seguridad de nuestro Windows. Debemos tener cuidado con lo que bajamos y ejecutamos, ya que Microsoft no bloqueará los scripts que pueden poner en peligro nuestro PC.
Paso de seguridad esencial: restaura la protección de PowerShell.
La política Unrestricted deja tu sistema expuesto a scripts maliciosos. Una vez hayas finalizado las actualizaciones, es esencial que restaures una política de seguridad adecuada.
Para ello, debes ejecutar el siguiente comando:
Set-ExecutionPolicy RemoteSigned
De esta forma, aplicaremos la configuración recomendada por defecto del sistema, la cual permite ejecutar tus propios scripts locales, pero exige una firma digital para los scripts descargados de Internet. De esta forma obtenemos un equilibrio óptimo entre funcionalidad y seguridad.
Para verificar el cambio, podemos ejecutar el comando «Get-ExecutionPolicy».
Administrar actualizaciones
El módulo PSWindowsUpdate incluye muchas opciones, las cuales se pueden usar para administrar las actualizaciones. Siempre puede usar el siguiente comando para consultar la lista de comandos disponibles
Get-Command –Module PSWindowsUpdate
De esta forma podemos usar el siguiente comando para descargar e instalar todas las actualizaciones disponibles y reiniciar el sistema
Get-WindowsUpdate -AcceptAll -Install -AutoReboot
Una vez realizada esta acción, Windows se encargará de descargar e instalar todas las actualizaciones disponibles y reiniciará el ordenador para aplicar los cambios automáticamente.
Instalar una actualización específica
Desde Windows PowerShell también vamos a poder instalar una actualización en particular, por lo que no será necesario tener que instalarlas todas por obligación. Para ello, será necesario que conozcamos y mencionemos el ID de KB. Al hacer el comando, por lo que se ignorará la actualización basada en ese ID en particular.
Para ello debemos de iniciar PowerShell con derechos de administrador y de escribir el siguiente comando:
Install-WindowsUpdate -NotKBArticle "KB5002324, KB5002325" -AcceptAll
Debemos de tener en cuenta que habrá que sustituir el número KB5002324 por el número de actualización que queremos impedir que pueda ser instalada. Una vez hecho esto, Windows descargará e instalará la actualización KB5002324 en nuestro dispositivo.
Impedir que se instalen actualizaciones específicas
Con PowerShell también podemos evitar que se instalen actualizaciones específicas en nuestro ordenador. Esto puede resultar útil cuando conocemos que una actualización concreta de Windows está dando problemas, por lo que no deseamos que se pueda instalar en nuestro equipo. Mediante el uso de este comando, el sistema obviará su existencia, por lo que no se llevará a cabo su instalación.
Hide-WindowsUpdate -KBArticleID KB5002324 Hide-WindowsUpdate -KBArticleID KB5002324
Aquí, debemos sustituir los números entre comillas (KB5002324, KB5002325) por el número de actualización que queremos impedir pueda ser instalada.
Desinstalar actualizaciones con PowerShell
Al igual que podemos utilizar PowerShell para instalar actualizaciones, obviamente también podemos utilizarlo para eliminar las actualizaciones que están causando problemas en nuestro equipo. Si sabemos el código de la actualización, debemos escribir el siguiente comando
wusa /unistall /KB:xxxxxxx
xxxxxxx es el número de la actualización que queremos desinstalar. Si no lo conocemos, podemos utilizar el siguiente comando para listar todas las actualizaciones instaladas en el equipo.
Get-Hotfix
Este comando mostrará todas las actualizaciones instaladas junto con la fecha y hora en la que aterrizaron en el equipo, junto con el tipo de actualización de que se trata: del sistema o parche de seguridad. Una vez que ejecutamos este código con el número de la actualización a desinstalar, automáticamente comenzará a desinstalar sin solicitar confirmación por parte del usuario (ahí está la gracia de utilizar scripts para automatizar tareas a través de PowerShell). Dependiendo del tipo de actualización que hemos desinstalado, el equipo nos invitará, o no, a reiniciarlo.
Reparar una actualización corrupta
En ocasiones puede ocurrir que los archivos de Windows Update puedan corromperse, lo cual provoca que no podamos descargarlos nuevamente ni instalar los archivos de actualización dañados. Si esto ocurre, debemos ejecutar el comando DISM para reparar la actualización de Windows dañada.
Para ello, desde el Símbolo del sistema, ejecutamos el siguiente comando y pulsamos Enter:
dism.exe /Online /Cleanup-image /Restorehealth
Una vez se ha ejecutado con éxito el comando, debemos intentar forzar la descarga de actualizaciones nuevamente y Windows Update debería comenzar de forma correcta nuevamente y seguir descargando todo lo que haya pendiente sin errores. Si, después de utilizar este comando, las actualizaciones siguen sin descargarse e instalarse, debemos utilizar la herramienta de Microsoft para forzar las actualizaciones de Windows, tal y como os explicamos en los siguientes apartados.
Adicionalmente, Windows también cuenta con otra herramienta, SFC, diseñada para analizar el sistema y ayudarnos a reparar cualquier dato corrupto que pueda haber en él. Este comando nos permite escanear y reparar archivos del sistema individuales que puedan estar dañados o corruptos por cualquier motivo: un apagado erróneo, una mala actualización, etc. SFC funciona como complemento de DISM, enfocándose en archivos específicos una vez que la imagen general ya ha sido restaurada.
Para ejecutar este comando, tan solo debemos escribir en una ventana de Terminal, a ser posible con permisos de administrador, el siguiente comando:
sfc /scannow
El proceso puede tardar unos cuantos minutos, dependiendo de la velocidad del PC. Cuando acabe, solo nos queda reiniciar el ordenador y toda la integridad del sistema debería estar restaurada.
¿Es mejor actualizar por comandos o Windows Update?
Microsoft nos recomienda usar siempre Windows Update, y esto es por una razón. Cuando la compañía lanza una actualización, esta sale con distintas configuraciones. Por un lado, por ejemplo, viene para equipos de 32 bits, por otro para los sistemas de 64, por otro para ARM, etc.
Ventajas de Windows Update
Windows Update se encarga de detectar la configuración de nuestro sistema y descargar automáticamente, sin tener que hacer nada, la versión adecuada para nuestro PC. De esta forma, reducimos el espacio necesario para descargar las actualizaciones, ya que, de lo contrario, descargaríamos todas y cada una de las versiones de las nuevas actualizaciones, ocupando un espacio en nuestro disco duro que podemos dedicar a otros menesteres.
Sin duda alguna, la funcionalidad de Windows Update, a pesar de los fallos que nos presenta en ciertas ocasiones, es la más utilizada y habitual a la hora de actualizar el sistema de Microsoft de forma sencilla y automatizada. Además, la interfaz gráfica nos propone funciones adicionales como eliminar actualizaciones recientes o consultar un listado de las que ya disponemos.
Al mismo tiempo, podemos afirmar que si no tenemos conocimientos avanzados, lo mejor es usar siempre Windows Update para estos menesteres. Además, si usamos los comandos de CMD corremos el riesgo de instalar actualizaciones que no corresponden con nuestro PC. En un principio esto no debería ocurrir, ya que el propio Windows detectará el parche conflictivo y lo bloqueará. Sin embargo, siempre corremos el riesgo de que, al instalar un parche que no corresponde con nuestro PC, nos quedemos sin ordenador, obligándonos a restaurar a una versión anterior o a desinstalar la actualización desde las opciones Windows Update utilizando la interfaz gráfica.
Ventajas de los comandos
Sin embargo, si esta herramienta nos está dando problemas, entonces CMD o PowerShell nos pueden servir como alternativa para poner al día el ordenador. Incluso puede ser útil para automatizar las actualizaciones de varios ordenadores o ciertas tareas creando scripts, siendo esta la mejor opción en entornos laborales donde el número de equipos a actualizar es muy elevado y no podemos perder el tiempo equipo por equipo ni hacerlo perder a los empleados mientras esperan a que se instale la actualización.
Esto significa básicamente que los usuarios más avanzados del sistema operativo de Microsoft tendrán la posibilidad de sacar el máximo provecho al software gracias a sus propios proyectos de programación, archivos por lotes o script. Aquí podrán utilizar los comandos de los que os hablaremos a continuación para crear sus propios contenidos y automatizar estas tareas de actualización del sistema. Evidentemente, se da por hecho que las órdenes de las que os hablaremos formarán parte de un conjunto más extenso para controlar errores y llevar a cabo otras tareas en Windows de manera paralela.
Por qué usar el catálogo oficial
Otra posibilidad que tenemos a la hora de actualizar el sistema operativo de Microsoft es echar mano del catálogo oficial que nos ofrece la propia firma. Al mismo podemos acceder a través de nuestro navegador de Internet favorito para descargar las actualizaciones de la versión del sistema que tengamos instalada en el equipo. Sin duda alguna la principal ventaja que vamos a tener aquí es que tendremos el control total sobre las actualizaciones de Windows, ya que las descargamos e instalamos nosotros mismos a mano.
Esto significa que podremos elegir el momento exacto en el que llevar a cabo este proceso en ocasiones problemático, hoy, sencillamente cuando no vayamos a hacer nada más con el ordenador. Además, aquí vamos a encontrar todas las actualizaciones de las diferentes versiones de Windows para elegir la que realmente necesitamos.
Programar actualizaciones con el Programador de tareas
Windows también tiene otra manera de automatizar las tareas de manera nativa: su propio Programador de tareas. Esto incluye la instalación de actualizaciones si utilizamos los comandos adecuados. ¿Qué beneficio nos va a suponer esto?, pues claramente, vamos a hacer que todo el sistema se mantenga actualizado con la mínima intervención posible por nuestra parte. Así que, para ello, vamos a crear una tarea que ejecute un comando para buscar actualizaciones para que se descarguen e instalen las actualizaciones que queramos.
Si queremos programarla, lo que debemos hacer en primer lugar es abrir el Programador de Tareas (puedes abrirlo escribiendo Win + R y dentro del ejecutor, escribir taskschd.msc). Justo cuando estemos dentro, veremos un menú un poco anticuado, pero muy funcional, que se desplegará ante nosotros. Aquí tendrás que pulsar sobre «Crear tarea», pero ojo, no lo confundas con «Crear tarea básica», que eso es para otras cuestiones.
Desde la pestaña de «General», ponle el nombre que quieras y selecciona sobre la opción «Ejecutar con los privilegios más altos», la más abajo de las tres.
En la siguiente pestaña, «Desencadenadores», debes elegir con qué periodicidad ejecutarla. Es decir, si quieres que se ejecute de manera diaria, semanal, al iniciar el sistema, una sola vez, etc, etc. Posteriormente, nos mandará a «Acciones», y este es el punto clave de todo el proceso.
Debemos pulsar sobre «Nueva», que aparecerá en la parte de abajo «Acciones», y una vez que hayamos accedido al menú que aparece en la foto de arriba, seleccionaremos «Iniciar un programa», aunque ya viene por defecto. Justo en el cuadro de abajo debemos escribir en programa o script: «powershell.exe». Y ahora, justo sobre el cuadro de «Agregar argumentos (opcional), deberemos añadir este comando:
-Command "Install-WindowsUpdate -AcceptAll -AutoReboot"
Para terminar, dentro de «Condiciones» y «Configuración», podemos ajustar que solo funcione cuando esté conectado a internet, si así lo requieres. Por último, guarda la tarea y ya la tendrás lista.
