PowerShell: Ejecutar script de manera programada

Días atrás me encontré con la necesidad de recurrir al recurso de la tarea programada, para ejecutar periódicamente un script. En este post me voy a dedicar a compartir como sería el procedimiento para realizarlo.

Lo primero que necesitamos es tener el script guardado en un lugar accesible para poder acceder más adelante. En mi caso el script se encuentra en C:\Users\Victor\Script.ps1.

Lo siguiente que vamos a hacer es crear la tarea programada, accedemos a Control Panel > Administrative Tools > Task Scheduler.

Ya con la aplicación iniciada, vamos a Create Task…

En el campo Name, completamos con el nombre que queremos identificar esta tarea. Seleccionar la opción que indica que s eva a ejecutar con el usuario logueado o no. Y por último, si desean, configurar la tarea para que sea compatible con Windows 10 (en mi caso).

En la pestaña Triggers, click en New. Agregar la periodicidad de la tarea. Para el ejemplo, indiqué que se realice todos los viernes a las 9:00hs.

En la pestaña Actions, click en New. Dejamos la opción por defecto, para que inicie un programa, luego en el campo Program, escribimos PowerShell -File , que en este caso sería:

PowerShell -File "C:\Users\Victor\Script.ps1"

Al seleccionar Ok, nos aparece la siguiente ventana, indicando si estamos de acuerdo en ejecutar el programa con los parametros indicados, le damos que si.

Y eso sería todo!

Ahora, desde la consola de PowerShell, podemos ejecutar algo así:

$Action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-File C:\Users\Victor\Script.ps1'
$Trigger =  New-ScheduledTaskTrigger -Daily -At 9am
Register-ScheduledTask -Action $Action -Trigger $Trigger -TaskName "PowerShell Task" -Description "Tarea programada generada por la consola."

Saludos,

Comments