Cómo Desactivar Windows Update Permanentemente en Windows 10 y Windows 11

Adiós a las Actualizaciones Forzadas con PowerShell ¿Cansado de que Windows decida por ti cuándo actualizarse? Esos reinicios inesperados en medio de una tarea importante o el consumo de ancho de banda sin previo aviso son una frustración común para muchos usuarios. Afortunadamente, existe una solución robusta y definitiva para tomar el control total, y la herramienta para lograrlo es PowerShell. En esta guía te enseñaremos, paso a paso, cómo crear un sistema automatizado que garantiza que Windows Update permanezca desactivado tanto en Windows 10 como en Windows 11, dándote la libertad de actualizar solo cuando tú lo decidas. ¿Qué es PowerShell y por qué lo usamos? Imagina la clásica pantalla negra de comandos (CMD o Símbolo del sistema). Ahora, dale superpoderes. Eso es, en esencia, PowerShell. Es una moderna y potente consola de comandos creada por Microsoft que permite a los usuarios y administradores automatizar tareas y gestionar cada rincón del sistema operativo de una forma mucho más avanzada. Para esta tarea, es la herramienta perfecta porque nos permite crear scripts y tareas programadas de manera precisa y definitiva. Paso 1: Crear el Script de Desactivación Lo primero que haremos es crear un pequeño archivo de script que contenga todas las órdenes para detener y deshabilitar no solo el servicio principal de Windows Update, sino también otros servicios relacionados que a menudo intentan reactivarlo. Abre el Bloc de notas en tu PC. Copia el siguiente código y pégalo en el Bloc de notas. Copiar # Detener y deshabilitar el servicio principal de Windows Update Stop-Service -Name wuauserv -Force -ErrorAction SilentlyContinue Set-Service -Name wuauserv -StartupType Disabled -ErrorAction SilentlyContinue # Detener y deshabilitar el Servicio de Orquestador de Actualizaciones (muy importante) Stop-Service -Name UsoSvc -Force -ErrorAction SilentlyContinue Set-Service -Name UsoSvc -StartupType Disabled -ErrorAction SilentlyContinue # Detener y deshabilitar el Servicio de transferencia inteligente en segundo plano (BITS) Stop-Service -Name BITS -Force -ErrorAction SilentlyContinue Set-Service -Name BITS -StartupType Disabled -ErrorAction SilentlyContinue # Detener y deshabilitar el servicio de Optimización de distribución Stop-Service -Name DoSvc -Force -ErrorAction SilentlyContinue Set-Service -Name DoSvc -StartupType Disabled -ErrorAction SilentlyContinue Ve a Archivo > Guardar como… Crea una carpeta fácil de recordar, como C:\Scripts. En el campo «Nombre de archivo», escribe: DesactivarUpdates.ps1 Importante: En «Tipo», cambia «Documentos de texto (*.txt)» a «Todos los archivos (*.*)». Haz clic en Guardar. ¡Excelente! Ya tienes el «cerebro» de la operación guardado y listo. Paso 2: Automatizar la Ejecución del Script con PowerShell Ahora necesitamos asegurarnos de que el script anterior se ejecute automáticamente cada vez que enciendes tu computadora. Para ello, crearemos una Tarea Programada, pero lo haremos directamente desde PowerShell para que sea más rápido y preciso. Busca «PowerShell» en el menú de inicio, haz clic derecho sobre «Windows PowerShell» y selecciona «Ejecutar como administrador». Copia todo el siguiente bloque de código y pégalo en la ventana de PowerShell. Presiona Enter. Este script no desactiva nada por sí mismo; su única función es crear la tarea programada que ejecutará nuestro primer script en cada inicio. Copiar # — Script para crear la Tarea Programada — # 1. Acción: Define qué programa ejecutar y con qué argumentos. $action = New-ScheduledTaskAction -Execute ‘powershell.exe’ -Argument ‘-ExecutionPolicy Bypass -File «C:\Scripts\DesactivarUpdates.ps1″‘ # 2. Desencadenador: Define cuándo se ejecutará la tarea (al iniciar el sistema). $trigger = New-ScheduledTaskTrigger -AtStartup # 3. Principal: Define con qué usuario y privilegios se ejecutará. # Usamos ‘NT AUTHORITY\SYSTEM’ para asegurarnos de que tenga los máximos privilegios. $principal = New-ScheduledTaskPrincipal -UserId «NT AUTHORITY\SYSTEM» -LogonType ServiceAccount -RunLevel Highest # 4. Configuración: Ajustes adicionales, como permitir que se ejecute con batería. $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries # 5. Registro: Crea y guarda la tarea en el sistema. $taskName = «Desactivar Windows Update al Inicio» $taskDescription = «Deshabilita forzosamente los servicios de Windows Update al iniciar el sistema para prevenir la reactivación automática.» # Intenta eliminar una tarea existente con el mismo nombre para evitar errores. Unregister-ScheduledTask -TaskName $taskName -Confirm:$false -ErrorAction SilentlyContinue # Registra la nueva tarea Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Principal $principal -Settings $settings -Description $taskDescription Write-Host «¡Tarea ‘$taskName’ creada y registrada con éxito!» -ForegroundColor Green Si todo salió bien, verás un mensaje en verde que dice «¡Tarea ‘Desactivar Windows Update al Inicio’ creada y registrada con éxito!». Paso 3: ¡Reinicia y Verifica! ¡Eso es todo! El trabajo ya está hecho. Para confirmar que todo funciona, simplemente reinicia tu computadora. Una vez que vuelva a iniciar, puedes verificar que las actualizaciones están desactivadas de esta manera: Abre PowerShell (no necesita ser como administrador esta vez). Ejecuta el siguiente comando: Copiar Get-Service -Name wuauserv El estado («Status») debería ser Stopped (Detenido). También puedes ir a Configuración > Actualización y seguridad > Windows Update y verás un mensaje de error, lo que confirma que el sistema no puede buscar actualizaciones. ¿Y si quiero volver a activar las actualizaciones? Si en el futuro decides que quieres volver a recibir actualizaciones, el proceso es muy sencillo: Abre PowerShell como administrador. Ejecuta este comando para eliminar la tarea programada que creamos: Copiar Unregister-ScheduledTask -TaskName «Desactivar Windows Update al Inicio» -Confirm:$false Luego, ejecuta este script para reactivar los servicios: Copiar Set-Service -Name wuauserv -StartupType Automatic Set-Service -Name UsoSvc -StartupType Automatic Set-Service -Name BITS -StartupType Automatic Set-Service -Name DoSvc -StartupType Automatic Start-Service -Name wuauserv Reinicia tu computadora y Windows Update volverá a funcionar como antes.