# Programador de tareas de Windows

El Programador de tareas es un componente de Microsoft Windows que brinda la capacidad de programar el inicio de programas o scripts en tiempos predefinidos o después de intervalos de tiempo especificados: programación de tareas (programación de tareas). Fue introducido por primera vez en el Microsoft Plus! para Windows 95 como Agente del sistema, pero se le cambió el nombre a Programador de tareas en Internet Explorer 4.0 y Windows 98. El servicio de registro de eventos de Windows debe ejecutarse antes de que se inicie el Programador de tareas.
Este servicio no debe confundirse con el programador que asigna los recursos de la CPU a los procesos que ya están en la memoria.

## Historia

La primera versión del programador de tareas se incorporó en Windows NT 4.0 (con Internet Explorer 4.0 o posterior), Windows 2000, Windows XP y Windows Server 2003. Se ejecuta como un Windows Service, y las definiciones de tareas y las programaciones se almacenan en archivos binary .job. Las tareas se manipulan directamente the mediante la manipulación de los archivos .job. Cada tarea corresponde a una sola acción. En Windows 95 (con Internet Explorer 4.0 o posteriores), Windows 98 y Windows Me, el Programador de tareas se ejecuta como un programa ordinario, mstask.exe. También muestra un icono de estado en el área de notificación en Windows 95 y Windows 98 y se ejecuta como un servicio oculto en Windows Me, pero se puede hacer que muestre un icono de bandeja. Los programas informáticos y los scripts pueden acceder al servicio a través de seis COM interfaces. Microsoft proporciona un agente DLL de programación, un VBScript de muestra y un archivo de configuración para automatizar el Programador de tareas.
Además de la interfaz gráfica de usuario para el Programador de tareas en el Tablero de Control, Windows proporciona dos herramientas de línea de comandos para administrar la tarea programada: at.exe (en desuso) Y schtasks.exe. Sin embargo, at.exe no puede acceder a las tareas creadas o modificadas por el Panel de Control o schtasks.exe. Además, las tareas creadas con at.exe No son interactivas de forma predeterminada; La interactividad debe ser solicitada explícitamente.

### Segunda versión

En Windows Vista y Windows Server 2008 se incluyó una nueva versión del Programador de Tareas. La interfaz de usuario es rediseñada, basándose en la consola de administración de Windows. Además de ejecutar tareas en horas programadas o intervalos especificados, el Programador de tareas 2.0 también admite desencadenadores basados en eventos y en el calendario, como iniciar una tarea cuando un evento en particular se registra en el registro de eventos o cuando se produce una combinación de eventos. Además, varias tareas que son activadas por el mismo evento pueden configurarse para ejecutarse simultáneamente o en una secuencia en cadena predeterminada de una serie de acciones, en lugar de tener que crear múltiples tareas programadas. Las tareas también pueden configurarse para ejecutarse en función del estado del sistema, como estar inactivo durante un período de tiempo preconfigurado, en el inicio, cierre de sesión o solo durante o durante un tiempo específico. Las expresiones XPath se pueden usar para filtrar eventos del registro de eventos de Windows. Las tareas también se pueden retrasar durante un tiempo específico después de que haya ocurrido el evento de activación, o se pueden repetir hasta que ocurra algún otro evento. Las acciones que deben realizarse si una tarea falla también pueden configurarse. Las acciones que se pueden tomar en respuesta a los desencadenantes, tanto basados en eventos como en tiempo, no solo incluyen el lanzamiento de aplicaciones, sino también una serie de acciones personalizadas. El Programador de tareas incluye una serie de acciones integradas, que abarcan varias aplicaciones; incluyendo enviar un correo electrónico, mostrar un cuadro de mensaje o disparar un controlador COM cuando se activa. Las acciones personalizadas también se pueden especificar utilizando la API del Programador de tareas. El Programador de tareas mantiene un registro histórico de todos los detalles de ejecución de todas las tareas. Windows Vista usa el Programador de tareas 2.0 para ejecutar varias tareas a nivel del sistema; en consecuencia, el servicio Programador de tareas ya no se puede deshabilitar (excepto con un simple ajuste de registro).
Esta versión expone una API para permitir que los programas informáticos y las secuencias de comandos creen tareas. Se compone de 42 interfaces COM. Sin embargo, la API de Windows no incluye un contenedor administrado para el Programador de tareas, aunque existe una implementación de código abierto. Los archivos de trabajo para el Programador de tareas 2.0 están basados en XML y son legibles para las personas, de acuerdo con el Esquema del Programador de tareas. Aunque es posible, Microsoft aconseja no crear los archivos de trabajo a mano y, en su lugar, usar la API del Programador de tareas.

#### Características

* Funciones de seguridad: incluye el uso del Administrador de credenciales para contraseñas para tareas en equipos de grupos de trabajo y el uso de Active Directory para las credenciales de tareas en equipos unidos al dominio para que no se puedan recuperar fácilmente. Además, las tareas programadas se ejecutan en su propia sesión, en lugar de la misma sesión que los servicios del sistema o el usuario actual.
* Posibilidad de activar una máquina de forma remota o usar el temporizador BIOS de suspensión o hibernación para ejecutar una tarea programada o ejecutar una tarea programada previamente después de que se enciende una máquina.
* Posibilidad de adjuntar tareas a eventos directamente desde el Visor de eventos.

## Tareas

El servicio Programador de tareas funciona mediante la administración de tareas; Tarea se refiere a la acción (o acciones) tomadas en respuesta a los disparadores. Una tarea se define asociando un conjunto de acciones, que puede incluir el lanzamiento de una aplicación o realizar alguna acción personalizada, a un conjunto de activadores, que pueden estar basados en el tiempo o en eventos. Además, una tarea también puede contener metadatos que definen cómo se ejecutarán las acciones, como el contexto de seguridad en el que se ejecutará la tarea. Las tareas se serializan en archivos .job y se almacenan en la carpeta especial titulada Carpeta de tareas, organizada en subdirectorios . Programáticamente, se accede a la carpeta de tareas utilizando la interfaz ITaskFolder o el objeto de scripts TaskFolder y las tareas individuales utilizando la interfaz IRegisteredTask o el objeto RegisteredTask.

## Columna 'Último Resultado'

La última columna de resultado muestra un código de conclusión. Los códigos comunes para planificó las tareas son:
* 0 o 0x0: La operación se completó exitosamente.
* 1 o 0x1: Función incorrecta llamada o llamada función desconocida.
* 2 o 0x2: Archivo no encontrado.
* 10 o 0xa: El entorno es incorrecto.
* 0x00041300: La tarea está lista para ejecutarse en su próxima hora programada.
* 0x00041301: La tarea se está ejecutando actualmente.
* 0x00041302: La tarea ha sido deshabilitada.
* 0x00041303: La tarea aún no se ha ejecutado.
* 0x00041304: No hay más ejecuciones programadas para esta tarea.
* 0x00041305: Una o más de las propiedades que se necesitan para ejecutar esta tarea no se han establecido.
* 0x00041306: La última ejecución de la tarea fue terminada por el usuario.
* 0x00041307: O bien la tarea no tiene desencadenadores o los desencadenantes existentes están deshabilitados o no están establecidos.
* 0x00041308: Los activadores de eventos no tienen tiempos de ejecución establecidos.
* 0x80010002: La llamada fue cancelada por el filtro de mensajes
* 0x80041309: No se encuentra el disparador de una tarea.
* 0x8004130Un: Una o más de las propiedades requeridas para ejecutar esta tarea no se han establecido.
* 0x8004130B: El servicio del Programador de tareas no está instalado en esta computadora.
* 0x8004130C: El servicio del Programador de tareas no está instalado en esta computadora.
* 0x8004130D: El objeto de tarea no se pudo abrir.
* 0x8004130E: El objeto es un objeto de tarea no válido o no es un objeto de tarea.
* 0x8004130F: No se pudo encontrar información de la cuenta en la base de datos de seguridad del Programador de tareas para la tarea indicada.
* 0x80041310: No se puede establecer la existencia de la cuenta especificada.
* 0x80041311: Corruption was detected in the Task Scheduler security database
* 0x80041312: Task Scheduler security services are available only on Windows NT.
* 0x80041313: La versión del objeto de tarea no es compatible o no es válida.
* 0x80041314: La tarea se ha configurado con una combinación no admitida de configuraciones de cuenta y opciones de tiempo de ejecución.
* 0x80041315: The Task Scheduler Service is not running.
* 0x80041316: The task XML contains an unexpected node.
* 0x80041317: The task XML contains an element or attribute from an unexpected namespace.
* 0x80041318: The task XML contains a value which is incorrectly formatted or out of range.
* 0x80041319: The task XML is missing a required element or attribute.
* 0x8004131A: The task XML is malformed.
* 0x0004131B: The task is registered, but not all specified triggers will start the task.
* 0x0004131C: The task is registered, but may fail to start. Batch logon privilege needs to be enabled for the task principal.
* 0x8004131D: The task XML contains too many nodes of the same type.
* 0x8004131E: The task cannot be started after the trigger end boundary.
* 0x8004131F: An instance of this task is already running.
* 0x80041320: The task will not run because the user is not logged on.
* 0x80041321: The task image is corrupt or has been tampered with.
* 0x80041322: The Task Scheduler service is not available.
* 0x80041323: The Task Scheduler service is too busy to handle your request. Please try again later.
* 0x80041324: The Task Scheduler service attempted to run the task, but the task did not run due to one of the constraints in the task definition.
* 0x00041325: The Task Scheduler service has asked the task to run.
* 0x80041326: The task is disabled.
* 0x80041327: The task has properties that are not compatible with earlier versions of Windows.
* 0x80041328: The task settings do not allow the task to start on demand.
* 0xC000013A: The application terminated as a result of a CTRL+C.
* 0xC0000142: The application failed to initialize properly.