En aquest tema, aprendrem com utilitzar els pipelines en PowerShell per manipular objectes de manera eficient. Els pipelines són una característica poderosa que permet passar la sortida d'un cmdlet com a entrada a un altre cmdlet, facilitant la manipulació i el processament de dades.
Conceptes Clau
Què és un Pipeline?
Un pipeline és una sèrie de cmdlets connectats per l'operador |
(pipe). La sortida d'un cmdlet es converteix en l'entrada del següent cmdlet en la cadena.
Avantatges dels Pipelines
- Eficàcia: Permet processar grans quantitats de dades de manera eficient.
- Claredat: Fa que els scripts siguin més llegibles i fàcils de mantenir.
- Modularitat: Facilita la reutilització de cmdlets per a diferents tasques.
Exemples Pràctics
Exemple 1: Llistar Fitxers i Filtrar per Extensió
# Llistar tots els fitxers en el directori actual i filtrar només els fitxers .txt Get-ChildItem | Where-Object { $_.Extension -eq ".txt" }
Explicació:
Get-ChildItem
llista tots els elements del directori actual.Where-Object
filtra els elements per la condició especificada (en aquest cas, l'extensió.txt
).
Exemple 2: Ordenar Processos per Memòria Utilitzada
# Obtenir tots els processos i ordenar-los per la memòria utilitzada en ordre descendent Get-Process | Sort-Object -Property WorkingSet -Descending
Explicació:
Get-Process
obté tots els processos en execució.Sort-Object
ordena els processos per la propietatWorkingSet
(memòria utilitzada) en ordre descendent.
Exemple 3: Seleccionar Propietats Específiques
# Obtenir informació sobre els serveis i seleccionar només el nom i l'estat Get-Service | Select-Object -Property Name, Status
Explicació:
Get-Service
obté tots els serveis del sistema.Select-Object
selecciona només les propietatsName
iStatus
dels serveis.
Exercicis Pràctics
Exercici 1: Filtrar i Ordenar Fitxers
Descripció: Llistar tots els fitxers en el directori C:\Temp
que tinguin una mida superior a 1 MB i ordenar-los per mida en ordre descendent.
Solució:
Get-ChildItem -Path C:\Temp | Where-Object { $_.Length -gt 1MB } | Sort-Object -Property Length -Descending
Exercici 2: Obtenir Processos amb Alt Consum de CPU
Descripció: Obtenir tots els processos que utilitzen més del 10% de la CPU i mostrar el nom del procés i el percentatge de CPU utilitzat.
Solució:
Errors Comuns i Consells
Error Comú: No Utilitzar el Context d'Objecte Correcte
Quan es treballa amb pipelines, és important assegurar-se que les propietats i mètodes utilitzats en cada cmdlet són aplicables als objectes que es passen pel pipeline.
Consell: Utilitzar Get-Member
per Explorar Objectes
Per entendre millor les propietats i mètodes disponibles en els objectes que es passen pel pipeline, utilitza el cmdlet Get-Member
.
Resum
En aquesta secció, hem après com utilitzar els pipelines en PowerShell per manipular objectes de manera eficient. Hem vist exemples pràctics de com llistar, filtrar, ordenar i seleccionar propietats d'objectes. També hem practicat amb exercicis per reforçar els conceptes apresos. Els pipelines són una eina poderosa que pot simplificar significativament la manipulació de dades en PowerShell, fent els scripts més eficients i llegibles.
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