Introducció
En aquest tema, explorarem com utilitzar mòduls i snap-ins en PowerShell per ampliar les seves funcionalitats. Els mòduls i snap-ins permeten als usuaris afegir cmdlets, funcions, variables i altres recursos a les seves sessions de PowerShell, facilitant la gestió i l'automatització de tasques específiques.
Què són els Mòduls i Snap-ins?
Mòduls
Els mòduls són col·leccions de cmdlets, funcions, variables i altres recursos empaquetats en un sol fitxer o directori. Els mòduls són la manera recomanada d'ampliar PowerShell perquè són fàcils de distribuir i gestionar.
Snap-ins
Els snap-ins són una tecnologia més antiga que els mòduls i s'utilitzen per afegir cmdlets i proveïdors a PowerShell. Els snap-ins estan escrits en .NET i requereixen ser registrats amb PowerShell abans de poder ser utilitzats.
Instal·lació i Importació de Mòduls
Instal·lació de Mòduls
Els mòduls es poden instal·lar des de la Galeria de PowerShell (PowerShell Gallery) utilitzant el cmdlet Install-Module
.
Importació de Mòduls
Un cop instal·lat, un mòdul es pot importar a la sessió actual de PowerShell amb el cmdlet Import-Module
.
Llistat de Mòduls Instal·lats
Per veure quins mòduls estan instal·lats al sistema, es pot utilitzar el cmdlet Get-Module
amb el paràmetre -ListAvailable
.
Creació de Mòduls Propis
Estructura d'un Mòdul
Un mòdul de PowerShell pot ser tan senzill com un fitxer .psm1
que conté funcions i cmdlets. També pot incloure un fitxer de manifest .psd1
que descriu el mòdul.
# Exemple d'un fitxer de mòdul simple (MyModule.psm1) function Get-Greeting { param ( [string]$Name ) "Hello, $Name!" }
Fitxer de Manifest
El fitxer de manifest proporciona informació sobre el mòdul, com ara la versió, els autors i les dependències.
# Exemple d'un fitxer de manifest (MyModule.psd1) @{ ModuleVersion = '1.0.0' Author = 'Nom de l'Autor' Description = 'Aquest és un mòdul d'exemple.' FunctionsToExport = @('Get-Greeting') }
Importació del Mòdul Creat
Per importar el mòdul creat, simplement cal utilitzar el cmdlet Import-Module
amb el camí al fitxer .psm1
.
Ús de Snap-ins
Instal·lació de Snap-ins
Els snap-ins han de ser registrats amb PowerShell abans de poder ser utilitzats. Això es fa amb el cmdlet Add-PSSnapin
.
# Afegir un snap-in a la sessió actual Add-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.E2010
Llistat de Snap-ins Instal·lats
Per veure quins snap-ins estan disponibles, es pot utilitzar el cmdlet Get-PSSnapin
amb el paràmetre -Registered
.
Exercicis Pràctics
Exercici 1: Instal·lar i Importar un Mòdul
- Instal·la el mòdul
Az
des de la Galeria de PowerShell. - Importa el mòdul
Az
a la sessió actual. - Llista tots els cmdlets disponibles en el mòdul
Az
.
Solució
# Instal·lar el mòdul Az Install-Module -Name Az # Importar el mòdul Az Import-Module -Name Az # Llistar tots els cmdlets del mòdul Az Get-Command -Module Az
Exercici 2: Crear i Importar un Mòdul Personalitzat
- Crea un fitxer
MyModule.psm1
amb una funcióGet-Greeting
que accepti un paràmetreName
i retorni un missatge de salutació. - Crea un fitxer de manifest
MyModule.psd1
per al mòdul. - Importa el mòdul a la sessió actual i executa la funció
Get-Greeting
.
Solució
# Contingut de MyModule.psm1 function Get-Greeting { param ( [string]$Name ) "Hello, $Name!" } # Contingut de MyModule.psd1 @{ ModuleVersion = '1.0.0' Author = 'Nom de l'Autor' Description = 'Aquest és un mòdul d'exemple.' FunctionsToExport = @('Get-Greeting') } # Importar el mòdul creat Import-Module -Name 'C:\Path\To\MyModule.psm1' # Executar la funció Get-Greeting Get-Greeting -Name 'PowerShell'
Conclusió
En aquest tema, hem après què són els mòduls i snap-ins, com instal·lar-los, importar-los i crear-ne de personalitzats. Els mòduls són una eina poderosa per ampliar les capacitats de PowerShell i facilitar la gestió de scripts i cmdlets. Els snap-ins, tot i ser una tecnologia més antiga, encara poden ser útils en certs contextos. Amb aquesta base, estàs preparat per explorar i utilitzar mòduls i snap-ins en els teus projectes de 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