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.
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ó
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
- Què és PowerShell?
- Instal·lació i Configuració de PowerShell
- Consola i ISE de PowerShell
- Comandes i Sintaxi Bàsiques
- Sistema d'Ajuda en PowerShell
Mòdul 2: Scripting Bàsic
- Variables i Tipus de Dades
- Operadors en PowerShell
- Sentències Condicionals
- Bucles en PowerShell
- Funcions i Scripts
Mòdul 3: Treballant amb Objectes
- Comprensió dels Objectes
- Propietats i Mètodes dels Objectes
- Pipelines i Manipulació d'Objectes
- Filtratge i Selecció d'Objectes
- Ordenació i Agrupació d'Objectes
Mòdul 4: Tècniques Avançades de Scripting
- Gestió d'Errors
- Depuració de Scripts
- Expressions Regulars
- Treballant amb Fitxers i Directoris
- Ús de Mòduls i Snap-ins
Mòdul 5: Automatització i Programació de Tasques
- Introducció a l'Automatització
- Creació de Tasques Programades
- Ús de PowerShell per a l'Administració del Sistema
- Automatització de Tasques d'Active Directory
- Automatització de Tasques de Xarxa
Mòdul 6: Remotització amb PowerShell
- Introducció a la Remotització
- Configuració de la Remotització
- Ús d'Invoke-Command
- Gestió de Sessions
- Consideracions de Seguretat
Mòdul 7: Funcions Avançades de PowerShell
- Perfils de PowerShell
- Personalització de l'Entorn de PowerShell
- Creació i Ús de Classes
- Treballant amb XML i JSON
- Ús de PowerShell amb REST APIs
Mòdul 8: PowerShell i DevOps
- Introducció a DevOps
- Ús de PowerShell amb Pipelines CI/CD
- Infraestructura com a Codi (IaC)
- Gestió de Recursos al Núvol amb PowerShell
- PowerShell i Docker