En aquest tema, aprendrem com crear tasques programades utilitzant PowerShell. Les tasques programades són essencials per automatitzar processos repetitius i assegurar que certes accions es realitzin en moments específics sense intervenció manual.

Objectius del Tema

  • Comprendre què són les tasques programades.
  • Aprendre a crear, modificar i eliminar tasques programades amb PowerShell.
  • Veure exemples pràctics de tasques programades.
  • Realitzar exercicis pràctics per reforçar els conceptes apresos.

Què són les Tasques Programades?

Les tasques programades són accions que es configuren per executar-se automàticament en moments específics o en resposta a esdeveniments determinats. A Windows, aquestes tasques es gestionen mitjançant el "Task Scheduler".

Cmdlets Clau per a la Gestió de Tasques Programades

PowerShell proporciona diversos cmdlets per treballar amb tasques programades. A continuació es mostren els més importants:

Cmdlet Descripció
Get-ScheduledTask Obté una o més tasques programades.
New-ScheduledTaskTrigger Crea un nou desencadenador de tasca programada.
New-ScheduledTaskAction Crea una nova acció de tasca programada.
Register-ScheduledTask Registra una nova tasca programada.
Set-ScheduledTask Modifica una tasca programada existent.
Unregister-ScheduledTask Elimina una tasca programada.
Start-ScheduledTask Inicia una tasca programada manualment.
Stop-ScheduledTask Atura una tasca programada en execució.

Creació d'una Tasca Programada

Pas 1: Crear un Desencadenador

Un desencadenador defineix quan s'executarà la tasca. Per exemple, podem crear un desencadenador que executi la tasca cada dia a les 9:00 AM.

$trigger = New-ScheduledTaskTrigger -Daily -At 9:00AM

Pas 2: Crear una Acció

Una acció defineix què farà la tasca. Per exemple, podem crear una acció que executi un script de PowerShell.

$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\MyScript.ps1"

Pas 3: Registrar la Tasca Programada

Finalment, registrem la tasca programada amb un nom i opcionalment amb una descripció.

Register-ScheduledTask -TaskName "MyDailyTask" -Trigger $trigger -Action $action -Description "Executes MyScript.ps1 daily at 9:00 AM"

Exemple Complet

A continuació es mostra un exemple complet de com crear una tasca programada que executi un script de PowerShell cada dia a les 9:00 AM.

# Crear el desencadenador
$trigger = New-ScheduledTaskTrigger -Daily -At 9:00AM

# Crear l'acció
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\MyScript.ps1"

# Registrar la tasca programada
Register-ScheduledTask -TaskName "MyDailyTask" -Trigger $trigger -Action $action -Description "Executes MyScript.ps1 daily at 9:00 AM"

Exercicis Pràctics

Exercici 1: Crear una Tasca Programada Setmanal

Crea una tasca programada que executi un script de PowerShell cada dilluns a les 8:00 AM.

Solució

# Crear el desencadenador
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At 8:00AM

# Crear l'acció
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\WeeklyScript.ps1"

# Registrar la tasca programada
Register-ScheduledTask -TaskName "WeeklyTask" -Trigger $trigger -Action $action -Description "Executes WeeklyScript.ps1 every Monday at 8:00 AM"

Exercici 2: Modificar una Tasca Programada

Modifica la tasca "MyDailyTask" per executar-se a les 10:00 AM en lloc de les 9:00 AM.

Solució

# Crear el nou desencadenador
$newTrigger = New-ScheduledTaskTrigger -Daily -At 10:00AM

# Obtenir la tasca existent
$task = Get-ScheduledTask -TaskName "MyDailyTask"

# Modificar la tasca amb el nou desencadenador
Set-ScheduledTask -TaskName "MyDailyTask" -Trigger $newTrigger -Action $task.Actions

Exercici 3: Eliminar una Tasca Programada

Elimina la tasca programada "WeeklyTask".

Solució

Unregister-ScheduledTask -TaskName "WeeklyTask" -Confirm:$false

Resum

En aquest tema, hem après com crear, modificar i eliminar tasques programades utilitzant PowerShell. Hem vist com utilitzar els cmdlets clau per gestionar les tasques programades i hem practicat amb exemples concrets. Les tasques programades són una eina poderosa per automatitzar processos i assegurar que certes accions es realitzin de manera consistent i sense intervenció manual.

Curs de PowerShell

Mòdul 1: Introducció a PowerShell

Mòdul 2: Scripting Bàsic

Mòdul 3: Treballant amb Objectes

Mòdul 4: Tècniques Avançades de Scripting

Mòdul 5: Automatització i Programació de Tasques

Mòdul 6: Remotització amb PowerShell

Mòdul 7: Funcions Avançades de PowerShell

Mòdul 8: PowerShell i DevOps

Mòdul 9: Millors Pràctiques i Consells Avançats

© Copyright 2024. Tots els drets reservats