En aquest tema, aprendrem com filtrar i seleccionar objectes en PowerShell. Aquestes tècniques són essencials per treballar amb grans quantitats de dades i per obtenir només la informació que necessitem.
Objectius
- Comprendre com utilitzar
Where-Object
per filtrar objectes. - Aprendre a utilitzar
Select-Object
per seleccionar propietats específiques. - Veure exemples pràctics de filtratge i selecció d'objectes.
- Realitzar exercicis pràctics per reforçar els conceptes apresos.
Filtratge d'Objectes amb Where-Object
Where-Object
és una cmdlet que ens permet filtrar objectes basant-nos en una condició específica.
Sintaxi
Exemple
Suposem que tenim una llista de processos en execució i volem filtrar només aquells que utilitzen més de 100 MB de memòria.
En aquest exemple:
Get-Process
obté tots els processos en execució.Where-Object
filtra els processos on la propietatWorkingSet
(memòria utilitzada) és superior a 100 MB.$_
és una variable automàtica que representa l'objecte actual en el pipeline.
Selecció de Propietats amb Select-Object
Select-Object
ens permet seleccionar propietats específiques d'un objecte.
Sintaxi
Exemple
Continuant amb l'exemple anterior, suposem que volem obtenir només els noms i la memòria utilitzada dels processos que utilitzen més de 100 MB de memòria.
En aquest exemple:
Select-Object
selecciona només les propietatsName
iWorkingSet
dels processos filtrats.
Combinació de Where-Object
i Select-Object
Podem combinar Where-Object
i Select-Object
per filtrar i seleccionar objectes de manera eficient.
Exemple
Suposem que volem obtenir els noms i la memòria utilitzada dels processos que utilitzen més de 100 MB de memòria, però només volem els 5 primers resultats.
En aquest exemple:
-First 5
és un paràmetre deSelect-Object
que limita el nombre de resultats a 5.
Exercicis Pràctics
Exercici 1
Obteniu una llista de serveis en execució i filtreu només aquells que estan aturats. Seleccioneu només els noms dels serveis.
Solució
Exercici 2
Obteniu una llista de processos en execució i filtreu només aquells que utilitzen més de 50 MB de memòria. Seleccioneu els noms i la memòria utilitzada, i limiteu els resultats als 10 primers.
Solució
Exercici 3
Obteniu una llista de fitxers en un directori específic i filtreu només aquells que tenen una extensió .txt
. Seleccioneu els noms dels fitxers i la seva mida.
Solució
Get-ChildItem -Path "C:\Path\To\Directory" | Where-Object { $_.Extension -eq '.txt' } | Select-Object Name, Length
Resum
En aquesta secció, hem après com utilitzar Where-Object
per filtrar objectes i Select-Object
per seleccionar propietats específiques. Hem vist exemples pràctics i hem realitzat exercicis per reforçar els conceptes apresos. Aquestes tècniques són fonamentals per treballar de manera eficient amb dades en PowerShell.
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