Enumere, agregue, edite y elimine tareas programadas con PowerShell – TrucosInformaticos

Powershell

El Programador de tareas le permite ejecutar automáticamente varios programas, secuencias de comandos o comandos en Windows de acuerdo con un cronograma, cuando ocurren ciertos eventos, cuando la computadora se enciende o apaga, o cuando el usuario inicia sesión. La forma más común de administrar las tareas del Programador de tareas en Windows es usar el taskchd.msc complemento gráfico de MMC. Sin embargo, puede realizar todas las tareas típicas de administración de tareas programadas de Windows mediante PowerShell. Este artículo le muestra cómo usar PowerShell para crear, modificar, activar, desactivar y eliminar tareas en el programador.

Puede administrar las tareas del Programador de Windows en PowerShell usando el integrado Tareas programadas módulo. Puede enumerar todos los cmdlets disponibles en el módulo ScheduledTasks:

Get-Command -Module ScheduledTasks

  • Deshabilitar tarea programada
  • Habilitar tarea programada
  • Tarea programada de exportación
  • Get-ClusteredScheduledTask
  • Get-ScheduledTask
  • Get-ScheduledTaskInfo
  • Nueva tarea programada
  • New-ScheduledTaskAction
  • Nuevo principal de tareas programadas
  • Nuevo conjunto de configuración de tareas programadas
  • Nuevo desencadenador de tareas programadas
  • Register-ClusteredScheduledTask
  • Tarea programada de registro
  • Conjunto-ClusteredScheduledTask
  • Establecer tarea programada
  • Tarea programada de inicio
  • Stop-ScheduledTask
  • Unregister-ClusteredScheduledTask
  • Unregister-ScheduledTask

Creemos una tarea programada simple que reiniciará Windows todos los días a las 8:00 p. m.

Lo primero que debe hacer es crear un disparador que defina el tiempo o las condiciones para que comience la tarea:

$task_trigger= New-ScheduledTaskTrigger -Daily -At 8am

Pista. Para especificar la hora de inicio, use los siguientes parámetros en el cmdlet New-ScheduledTaskTrigger:

  • En

  • A diario

  • Días de la semana

  • Una vez

  • Semanalmente

  • Intervalo de semanas

  • Retraso aleatorio

  • RepeticiónDuración

  • Intervalo de repetición

También es posible utilizar los siguientes eventos del sistema en un disparador:

Luego, debe especificar la acción que debe realizar su trabajo del programador:

$task_action = New-ScheduledTaskAction -Execute 'shutdown.exe' -Argument ' /r /t 60'

Pista. Para ejecutar un archivo de script de PowerShell (PS1) desde el Programador, use el siguiente comando:

$task_action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument -File C:\PS\myscript.ps1'

Ahora puede crear una nueva tarea del programador con el nombre dailyreboot:

Register-ScheduledTask -TaskName 'dailyreboot' -Action $task_action -Trigger $task_trigger

powershell crear tarea programada

Abra la consola gráfica del Programador de tareas y expanda la Biblioteca del programador de tareas. Debería ver su nueva tarea programada en la lista.

crear tareas programadas powershell

Para iniciar su tarea programada manualmente, ejecute el comando:

Start-ScheduledTask –TaskName dailyreboot

Obtenga información sobre su tarea:

Get-ScheduledTask dailyreboot

Vea el estado de la última ejecución de la tarea y la hora de la próxima ejecución:

Get-ScheduledTask dailyreboot|Get-ScheduledTaskInfo

lista de powershell tareas programadas

Mostrar solo tareas programadas activas:

Get-ScheduledTask | where state -eq 'Ready'

Deshabilite la tarea del programador:

Get-ScheduledTask -taskname dailyreboot | Disable-ScheduledTask

Las tareas programadas que están configuradas como ‘Deshabilitadas’ no se ejecutarán automáticamente en la computadora.

Habilitar una tarea programada:

Enable-ScheduledTask-TaskName dailyreboot

powershell crear programador de tareas

Establecer tarea programada le permite cambiar las opciones para la tarea del programador.

Cambiar el activador de la tarea (hora de inicio):

$task_trigger = New-ScheduledTaskTrigger -At 2:00PM -Once

Set-ScheduledTask -TaskName dailyreboot -Trigger $Task_trigger

Cambiar la acción en la tarea:

$task_action = New-ScheduledTaskAction -Execute 'ping' -Argument '8.8.8.8'

Set-ScheduledTask dailyreboot -Action $task_action

crear programador de tareas powershell

De forma predeterminada, una tarea programada se ejecuta en la cuenta que la creó. Para ejecutar la tarea del programador en nombre del sistema, puede usar el comando:

Set-ScheduledTask -TaskName dailyreboot –User "NT AUTHORITY\SYSTEM"

lista de tareas programadas powershell

Eliminar una tarea programada usando PowerShell:

Unregister-ScheduledTask -TaskName dailyreboot -Confirm: $false

4/5 - (97 votos)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *