Encontranos en redes
Task SchedulerAutomatizaciónWindows6 min de lectura
Programar tareas con Task Scheduler
Automatizá tareas con Task Scheduler para ejecutar scripts en horarios o eventos definidos.
Task Scheduler (Programador de tareas) te permite ejecutar scripts y programas automáticamente en horarios definidos.
Abrir Task Scheduler
powershell
taskschd.mscCrear tarea desde PowerShell
Ejemplo 1 — Script de backup diario a las 3 AM
powershell
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -File C:\Scripts\backup.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At 3:00AM
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -DontStopOnIdleEnd
Register-ScheduledTask -TaskName "Backup Diario" -Action $action -Trigger $trigger -Settings $settings -User "SYSTEM" -RunLevel HighestEjemplo 2 — Tarea cada 5 minutos
powershell
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-NoProfile -File C:\Scripts\health-check.ps1"
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 5) -RepetitionDuration (New-TimeSpan -Days 365)
Register-ScheduledTask -TaskName "Health Check" -Action $action -Trigger $trigger -User "SYSTEM" -RunLevel HighestEjemplo 3 — Tarea al iniciar el sistema
powershell
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-NoProfile -File C:\Scripts\startup.ps1"
$trigger = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask -TaskName "Startup Script" -Action $action -Trigger $trigger -User "SYSTEM" -RunLevel HighestListar tareas programadas
powershell
Get-ScheduledTask | Where-Object {$_.State -ne 'Disabled'} | Format-Table TaskName, State, TaskPathEjecutar una tarea manualmente
powershell
Start-ScheduledTask -TaskName "Backup Diario"Ver historial de ejecución
powershell
Get-ScheduledTask -TaskName "Backup Diario" | Get-ScheduledTaskInfoEliminar una tarea
powershell
Unregister-ScheduledTask -TaskName "Backup Diario" -Confirm:$falseDeshabilitar/habilitar
powershell
Disable-ScheduledTask -TaskName "Health Check"
Enable-ScheduledTask -TaskName "Health Check"Script de ejemplo para backup
Creá C:\Scripts\backup.ps1:
powershell
$fecha = Get-Date -Format "yyyy-MM-dd"
$origen = "C:\inetpub\midominio"
$destino = "C:\Backups\midominio-$fecha.zip"
Compress-Archive -Path $origen -DestinationPath $destino -Force
# Eliminar backups de más de 7 días
Get-ChildItem "C:\Backups\*.zip" | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-7)} | Remove-Item¿Te resultó útil esta guía?