¿Qué es el Programador de tareas de Windows?
El Programador de tareas de Windows es un componente integrado de Windows que ejecuta programas, scripts, comandos y acciones de mantenimiento automáticamente. En lugar de iniciar la misma herramienta manualmente todos los días, puedes crear una tarea que se inicie a una hora concreta, al iniciar sesión, al arrancar el equipo, cuando el sistema esté inactivo o cuando aparezca un evento específico en los registros de Windows.
El Programador de tareas está disponible tanto en Windows 10 como en Windows 11. Lo usan el propio Windows, componentes de Microsoft, controladores de dispositivos, antivirus, servicios de actualización, herramientas de copia de seguridad, actualizadores de navegadores y muchas aplicaciones de terceros. Para administradores y usuarios avanzados, es una de las herramientas de automatización más útiles incluidas en el sistema operativo.
taskschd.msc. Puedes abrirla desde el cuadro Ejecutar, el menú Inicio, el Panel de control, Administración de equipos, el Símbolo del sistema o PowerShell.
El Programador de tareas en términos sencillos
Desencadenador
El evento que inicia la tarea, como una programación, un inicio de sesión, el arranque, el estado de inactividad o una entrada del Visor de eventos.
Acción
Lo que Windows debe ejecutar: un archivo ejecutable, un script, un comando de PowerShell u otro programa compatible.
Condiciones
Requisitos adicionales, como alimentación de CA, tiempo de inactividad, disponibilidad de red o si el equipo puede reactivarse desde suspensión.
Historial
Registros de ejecución que ayudan a entender si la tarea se inició, terminó, falló o fue omitida.
¿Cuándo usar el Programador de tareas en Windows?
El Programador de tareas es útil cuando una acción debe ejecutarse de forma fiable sin clics manuales. Es especialmente práctico para mantenimiento repetitivo, informes, recordatorios, copias de seguridad, scripts de limpieza y rutinas administrativas.
Ejecutar scripts de mantenimiento
Inicia un script de limpieza, diagnóstico o exportación de registros todos los días, cada semana o después de que un usuario inicie sesión.
MantenimientoAutomatizar copias de seguridad
Ejecuta un comando de copia de seguridad como robocopy según una programación sin instalar un planificador independiente.
Iniciar aplicaciones o recordatorios
Abre un programa, muestra un mensaje mediante un script o inicia un flujo de trabajo a una hora específica.
ProductividadMotivos comunes para crear una tarea programada
- Ejecutar un script de PowerShell cada mañana o cada noche.
- Iniciar un programa automáticamente solo para un usuario específico.
- Ejecutar un comando de copia de seguridad cuando el equipo esté inactivo.
- Reiniciar un servicio después de un fallo o a una hora fija.
- Abrir un documento, carpeta o aplicación después de iniciar sesión.
- Ejecutar un comando con privilegios de administrador sin abrir manualmente una consola elevada.
Cómo abrir el Programador de tareas en Windows 10 y Windows 11
Hay varias formas de abrir el Programador de tareas. El método más rápido es el cuadro Ejecutar, pero la búsqueda, el Panel de control y los métodos de línea de comandos funcionan igual de bien.
Método 1: abrir el Programador de tareas desde Ejecutar
- Presiona Win + R para abrir el cuadro Ejecutar.
- Escribe
taskschd.msc. - Presiona Enter o haz clic en Aceptar.
taskschd.msc
Método 2: abrir el Programador de tareas desde la búsqueda de Windows
- Abre el menú Inicio.
- Busca Programador de tareas.
- Haz clic en el resultado más relevante.
Método 3: abrir el Programador de tareas desde el Panel de control
Método 4: abrir el Programador de tareas desde CMD o PowerShell
Abre el Símbolo del sistema, PowerShell o Windows Terminal y ejecuta el mismo comando de la consola de administración:
taskschd.msc
También puedes usar el comando de acceso directo del Panel de control:
control schedtasks
Interfaz del Programador de tareas explicada
La ventana del Programador de tareas se divide en tres áreas principales: la biblioteca de tareas a la izquierda, la carpeta seleccionada y la lista de tareas en el centro, y el panel de acciones a la derecha. Entender estas áreas hace que la herramienta sea mucho más fácil de usar.
| Área | Qué hace | Cómo se usa |
|---|---|---|
| Biblioteca del Programador de tareas | Almacena carpetas y tareas creadas por Windows, componentes de Microsoft y aplicaciones. | Crea tu propia carpeta, revisa tareas existentes y evita mezclar tareas personales con tareas del sistema. |
| Lista de tareas | Muestra nombres de tareas, estado, desencadenadores, próxima hora de ejecución, última ejecución y último resultado. | Comprueba si una tarea está lista, deshabilitada, en ejecución o fallando. |
| Panel de acciones | Contiene comandos como Crear tarea básica, Crear tarea, Ejecutar, Deshabilitar y Exportar. | Crea, edita, prueba, importa, exporta, elimina o inicia tareas manualmente. |
| Pestaña Historial | Muestra eventos detallados de la tarea si el historial está habilitado. | Permite saber por qué una tarea no se inició o por qué devolvió un código de error. |
Task Scheduler Library\MyTasks o Task Scheduler Library\AdminScripts. Así mantendrás la automatización personalizada separada de las tareas del sistema de Windows.
Cómo crear una tarea programada básica en Windows
La forma más sencilla de empezar es el asistente Crear tarea básica. Es adecuado para programaciones simples: ejecutar un programa a diario, semanalmente, una sola vez, cuando el equipo se inicia o cuando un usuario inicia sesión.
Paso a paso: crear una tarea básica
- Abre el Programador de tareas.
- En el panel derecho, haz clic en Crear tarea básica.
- Introduce un nombre claro, como
Daily Cleanup Script. - Añade una descripción para poder entender la tarea más adelante.
- Elige un desencadenador: diario, semanal, mensual, una vez, al iniciar sesión o al iniciar el sistema.
- Elige Iniciar un programa como acción.
- Selecciona el ejecutable, el host de script o el comando que quieres ejecutar.
- Revisa el resumen y haz clic en Finalizar.
Campos Programa, Argumentos e Iniciar en
Muchos fallos de tareas ocurren porque los campos Programa o script, Agregar argumentos o Iniciar en están rellenados de forma incorrecta. Usa rutas completas y separa el ejecutable de sus argumentos.
| Campo | Ejemplo correcto | Significado |
|---|---|---|
| Programa o script | powershell.exe |
El ejecutable que Windows inicia. |
| Agregar argumentos | -NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\cleanup.ps1" |
Parámetros que se pasan al ejecutable. |
| Iniciar en | C:\Scripts |
El directorio de trabajo usado por la tarea. No pongas este campo entre comillas. |
Configuración avanzada del Programador de tareas explicada
Para tener más control, usa Crear tarea en lugar de Crear tarea básica. La ventana avanzada da acceso a opciones de seguridad, varios desencadenadores, varias acciones, condiciones de energía, condiciones de red, reintentos, límites de tiempo y ajustes de compatibilidad.
Pestaña General: cuenta de usuario y privilegios
| Opción | Qué significa | Cuándo usarla |
|---|---|---|
| Ejecutar solo cuando el usuario haya iniciado sesión | La tarea se ejecuta en la sesión visible del usuario. | Úsala para tareas que abren ventanas, muestran interfaz o interactúan con el escritorio. |
| Ejecutar tanto si el usuario inició sesión como si no | La tarea puede ejecutarse en segundo plano sin un escritorio interactivo. | Úsala para copias de seguridad, scripts, informes y tareas de mantenimiento que no necesitan una ventana visible. |
| Ejecutar con los privilegios más altos | La tarea se ejecuta elevada, de forma similar a un símbolo del sistema como administrador. | Úsala solo cuando el comando requiera derechos de administrador. |
| Configurar para | Define el comportamiento de compatibilidad para la versión de Windows seleccionada. | En equipos modernos, elige Windows 10 o Windows 11 cuando esté disponible. |
Pestaña Desencadenadores: cuándo se inicia la tarea
Una tarea puede tener uno o varios desencadenadores. Por ejemplo, puede ejecutarse todos los días a las 9:00 y también cuando un usuario específico inicia sesión. Los desencadenadores comunes incluyen:
- Según una programación — diaria, semanal, mensual o una sola vez.
- Al iniciar sesión — se inicia cuando un usuario entra en Windows.
- Al iniciar el sistema — se inicia cuando Windows arranca.
- Al estar inactivo — se inicia después de que el equipo haya estado inactivo durante un periodo definido.
- Ante un evento — se inicia cuando aparece un evento coincidente en el Visor de eventos.
Pestaña Acciones: qué ejecuta la tarea
La acción más común es Iniciar un programa. Puede iniciar un archivo ejecutable normal, un archivo por lotes, un script de PowerShell, una herramienta de línea de comandos o un intérprete de scripts.
| Objetivo | Programa o script | Agregar argumentos |
|---|---|---|
| Ejecutar un archivo por lotes | cmd.exe |
/c "C:\Scripts\job.bat" |
| Ejecutar un script de PowerShell | powershell.exe |
-NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\job.ps1" |
| Ejecutar un comando de copia de seguridad | robocopy.exe |
"D:\Work" "E:\Backup\Work" /MIR /R:2 /W:5 |
Pestañas Condiciones y Configuración
La pestaña Condiciones controla los requisitos de energía, inactividad y red. La pestaña Configuración controla reintentos, ejecuciones omitidas, límites de tiempo y qué ocurre si la tarea ya se está ejecutando.
Condiciones útiles
- Iniciar solo si el equipo está inactivo.
- Reactivar el equipo para ejecutar la tarea.
- Iniciar solo si hay una conexión de red disponible.
- Ejecutar solo con corriente alterna en portátiles.
Ajustes que conviene revisar
- Detener la tarea si se ejecuta más tiempo de lo esperado.
- Ejecutar la tarea lo antes posible después de un inicio omitido.
- Reiniciar en caso de error.
- No iniciar una nueva instancia si ya hay una en ejecución.
Ejemplos prácticos del Programador de tareas de Windows
Los ejemplos siguientes muestran tareas habituales del mundo real. Puedes crearlas desde la interfaz del Programador de tareas o adaptar más adelante los ejemplos de línea de comandos de esta guía.
Ejemplo 1: ejecutar un script de PowerShell todos los días
Usa esta configuración cuando quieras que Windows ejecute automáticamente un script a la misma hora cada día.
| Campo de la tarea | Valor |
|---|---|
| Desencadenador | Diariamente a las 9:00 a. m. |
| Programa o script | powershell.exe |
| Agregar argumentos | -NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\DailyReport.ps1" |
| Iniciar en | C:\Scripts |
Ejemplo 2: iniciar un programa al iniciar sesión
Esto es útil para programas que no tienen una opción de inicio fiable o para herramientas que quieres ejecutar solo bajo tu cuenta de Windows.
- Crea una tarea nueva.
- En la pestaña Desencadenadores, elige Al iniciar sesión.
- En la pestaña Acciones, elige el ejecutable del programa.
- Usa Ejecutar solo cuando el usuario haya iniciado sesión si el programa tiene una interfaz visible.
Ejemplo 3: hacer copia de seguridad de una carpeta con Robocopy cada noche
La siguiente configuración replica D:\Work en E:\Backup\Work. Ten cuidado con /MIR: también replica las eliminaciones, por lo que los archivos eliminados en el origen también pueden eliminarse en el destino.
robocopy.exe "D:\Work" "E:\Backup\Work" /MIR /R:2 /W:5 /LOG:"C:\Logs\work-backup.log"
Ejemplo 4: apagar el PC a una hora específica
Para apagar un equipo todas las noches, crea una tarea programada que ejecute shutdown.exe. Esto resulta útil para quioscos, equipos de laboratorio y PC domésticos que no deberían permanecer encendidos toda la noche.
| Campo | Valor |
|---|---|
| Programa o script | shutdown.exe |
| Agregar argumentos | /s /t 60 /c "Scheduled shutdown" |
Para cancelar un apagado pendiente antes de que ocurra, ejecuta:
shutdown.exe /a
Ejemplo 5: reiniciar un servicio según una programación
Para un servicio que ocasionalmente necesita un reinicio controlado, usa PowerShell. Sustituye Spooler por el nombre del servicio que realmente necesitas.
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "Restart-Service -Name Spooler -Force"
Crear tareas programadas con CMD: ejemplos de schtasks
schtasks.exe es la herramienta clásica de línea de comandos para crear, listar, ejecutar, cambiar y eliminar tareas programadas. Es útil para scripts, administración remota y configuraciones repetibles.
Listar tareas programadas existentes
schtasks /Query /FO TABLE
Crear una tarea diaria
Este ejemplo abre el Bloc de notas todos los días a las 9:00. Es seguro para pruebas porque ejecuta una aplicación integrada visible.
schtasks /Create /TN "Open Notepad Daily" /TR "notepad.exe" /SC DAILY /ST 09:00
Crear una tarea que se ejecute al iniciar sesión
schtasks /Create /TN "Run My Tool at Logon" /TR "\"C:\Tools\MyTool.exe\"" /SC ONLOGON
Crear una tarea que ejecute un script de PowerShell
schtasks /Create /TN "Daily PowerShell Report" /SC DAILY /ST 08:30 /TR "powershell.exe -NoProfile -ExecutionPolicy Bypass -File \"C:\Scripts\DailyReport.ps1\""
Ejecutar, deshabilitar, habilitar y eliminar una tarea
| Acción | Comando |
|---|---|
| Ejecutar ahora | schtasks /Run /TN "Open Notepad Daily" |
| Deshabilitar | schtasks /Change /TN "Open Notepad Daily" /DISABLE |
| Habilitar | schtasks /Change /TN "Open Notepad Daily" /ENABLE |
| Eliminar | schtasks /Delete /TN "Open Notepad Daily" /F |
/TN. Ejemplo: /TN "\MyTasks\Daily PowerShell Report".
Crear tareas programadas con PowerShell
PowerShell ofrece cmdlets estructurados para crear y administrar tareas programadas. Es más fácil de leer y mantener que un comando schtasks muy largo, especialmente cuando necesitas varias opciones.
Crear una tarea programada diaria de PowerShell
$Action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -File C:\Scripts\DailyReport.ps1"
$Trigger = New-ScheduledTaskTrigger -Daily -At 9:00am
$Settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -MultipleInstances IgnoreNew
Register-ScheduledTask -TaskName "Daily PowerShell Report" -Action $Action -Trigger $Trigger -Settings $Settings -Description "Runs the daily report script."
Crear una tarea que se ejecute al iniciar el sistema
$Action = New-ScheduledTaskAction -Execute "C:\Tools\Agent.exe"
$Trigger = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask -TaskName "Start Custom Agent" -Action $Action -Trigger $Trigger -Description "Starts the custom agent when Windows boots."
Ver y eliminar una tarea programada con PowerShell
Get-ScheduledTask -TaskName "Daily PowerShell Report"
Unregister-ScheduledTask -TaskName "Daily PowerShell Report" -Confirm:$false
PowerShell frente a schtasks
| Método | Ideal para | Notas |
|---|---|---|
| Interfaz del Programador de tareas | Configuración manual, aprendizaje y revisión de detalles de tareas. | Es lo más sencillo para principiantes y es útil para verificación visual. |
| schtasks.exe | Archivos por lotes, scripts antiguos y configuración rápida desde línea de comandos. | Es compacto, pero puede volverse difícil de leer con argumentos largos. |
| Cmdlets de PowerShell | Automatización reutilizable, scripts de administración y configuración legible. | Más estructurado y fácil de modificar para tareas complejas. |
Buenas prácticas de seguridad y fiabilidad del Programador de tareas
Las tareas programadas pueden ejecutarse automáticamente y, a veces, con privilegios elevados. Eso las hace potentes, pero también significa que deben configurarse con cuidado.
- Usa nombres y descripciones de tareas claros.
- Guarda las tareas personalizadas en una carpeta separada bajo Biblioteca del Programador de tareas.
- Usa rutas completas para programas, scripts, registros y directorios de trabajo.
- Prueba el comando manualmente antes de ponerlo en el Programador de tareas.
- Usa Ejecutar con los privilegios más altos solo cuando sea necesario.
- Guarda scripts en carpetas protegidas, como
C:\Scripts, y limita el acceso de escritura. - Escribe registros para tareas importantes para que los fallos sean más fáciles de diagnosticar.
- Exporta tareas importantes antes de realizar cambios importantes.
Patrón útil de registro
Para scripts, redirige la salida a un archivo de registro. Esto facilita identificar errores de sintaxis, problemas de permisos, archivos faltantes y resultados inesperados.
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\DailyReport.ps1" *> "C:\Logs\DailyReport.log"
Solución de problemas: el Programador de tareas no ejecuta o falla
Si una tarea programada no se ejecuta, no la recrees inmediatamente. Primero revisa el estado de la tarea, el último resultado de ejecución, el historial, los campos de acción, los permisos de la cuenta, las condiciones de energía y si el script funciona fuera del Programador de tareas.
Problema 1: la tarea nunca se inicia
- Asegúrate de que la tarea esté Habilitada.
- Comprueba la hora del desencadenador, la zona horaria y la configuración de repetición.
- Abre la pestaña Condiciones y revisa las restricciones de energía o inactividad.
- En portátiles, comprueba si la tarea está bloqueada cuando funciona con batería.
- Usa Ejecutar en el panel derecho para probar la tarea manualmente.
Problema 2: la tarea se ejecuta manualmente pero no según la programación
Esto suele significar que el desencadenador, la cuenta de usuario, la condición de energía o la opción de ejecución omitida son incorrectos. Habilita Ejecutar tarea lo antes posible después de no haberse iniciado en el horario programado si el PC suele estar apagado o suspendido a la hora programada.
Problema 3: el último resultado de ejecución muestra 0x1
Un resultado 0x1 suele indicar un problema de línea de comandos, un directorio de trabajo faltante, un error de script o argumentos incorrectos. Comprueba lo siguiente:
- Usa rutas completas en lugar de rutas relativas.
- Define la carpeta Iniciar en cuando el script espera un directorio de trabajo.
- Mueve los argumentos fuera de Programa o script y colócalos en Agregar argumentos.
- Ejecuta el comando exacto desde CMD o PowerShell para confirmar que funciona.
Problema 4: el script de PowerShell no se ejecuta
Usa powershell.exe como programa y pasa la ruta del script mediante -File. Si la directiva de ejecución bloquea el script, usa un modificador de directiva de ejecución adecuado para esa tarea.
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\MyScript.ps1"
Problema 5: el historial de la tarea está vacío
El historial de tareas puede estar deshabilitado. En el Programador de tareas, selecciona Programador de tareas (local) y haz clic en Habilitar historial de todas las tareas en el panel derecho. Después, ejecuta la tarea de nuevo y revisa la pestaña Historial.
Problema 6: el servicio Programador de tareas no se está ejecutando
El Programador de tareas depende del servicio de Windows Programador de tareas. Puedes comprobar los servicios con:
services.msc
En instalaciones normales de Windows, el servicio Programador de tareas no debería estar deshabilitado.
Preguntas frecuentes sobre el Programador de tareas de Windows
P ¿El Programador de tareas está disponible en Windows 11? ▼
taskschd.msc o buscando Programador de tareas en el menú Inicio.
P ¿Cuál es la diferencia entre Crear tarea básica y Crear tarea? ▼
P ¿Puede el Programador de tareas ejecutar una tarea cuando el equipo está suspendido? ▼
P ¿Por qué mi tarea programada no muestra una ventana? ▼
P ¿Es seguro eliminar tareas del Programador de tareas? ▼
P ¿Puedo exportar una tarea programada e importarla en otro PC? ▼
🧩 Resumen
El Programador de tareas de Windows es una de las mejores herramientas integradas para automatizar trabajo en Windows 10 y Windows 11. Úsalo para ejecutar scripts, programas, copias de seguridad, tareas de mantenimiento, acciones de servicio y recordatorios en el momento adecuado o después de un evento específico del sistema.
Para trabajos simples, el asistente Crear tarea básica es suficiente. Para una automatización fiable, usa Crear tarea, define la cuenta de usuario correcta, separa el programa de sus argumentos, usa rutas completas, habilita el registro y prueba cada tarea manualmente antes de depender de ella.