L’automazione degli edifici con PowerShell potrebbe sembrare inizialmente travolgente, ma come ogni grande impresa, si tratta di procedere passo dopo passo. Immagina PowerShell come una collezione di blocchi da costruzione, con i moduli come base che danno vita alla sua funzionalità.
In questo articolo, scoprirai cos’è un modulo PowerShell, come trovarlo e come utilizzarlo per potenziare i tuoi compiti di automazione. Dalla gestione delle macchine virtuali alla connessione con i servizi cloud o all’automazione di Active Directory, i moduli rendono tutto ciò possibile.
Continua a leggere per sbloccare il pieno potenziale di PowerShell e affrontare con precisione i tuoi compiti!
Scoprire i Moduli PowerShell Disponibili
I moduli PowerShell sono blocchi di costruzione essenziali che estendono la sua funzionalità. Tuttavia, non tutti i moduli vengono caricati automaticamente nella sessione, spesso rimangono sul tuo sistema, in attesa di essere scoperti.
Per esplorare i moduli installati sul tuo sistema, utilizza il comando Get-Module
:
Get-Module
Potresti notare un breve elenco di moduli. Il motivo è che Get-Module
mostra solo i moduli già importati nella tua sessione.
Per visualizzare tutti i moduli disponibili sul tuo sistema, inclusi quelli non ancora caricati, aggiungi il parametro -ListAvailable
:
Get-Module -ListAvailable
Questo comando elenca tutti i moduli disponibili sul tuo sistema, che siano caricati in memoria o meno. PowerShell importa automaticamente i moduli man mano che si utilizzano i comandi da essi, quindi di solito non è necessario caricarli manualmente.
I moduli possono essere di vari tipi – script, binari o manifesti.
Per raggruppare i moduli per tipo per una ispezione più semplice, prova questo:
gmo -ListAvailable | group ModuleType
Qui, si utilizzano alias per comodità.
Per esempio, gmo
è un abbreviazione per Get-Module
, e group
è un alias per Group-Object
. Gli alias risparmiano tempo durante l’esecuzione dei comandi nella console.
Scoperta delle versioni dei moduli e dettagli dei comandi
Ogni modulo ha una versione che rappresenta il suo set di funzionalità o i cambiamenti nel tempo. La numerazione delle versioni consente di gestire gli aggiornamenti o di tornare a una versione precedente se necessario.
I moduli contengono anche comandi accessibili tramite la proprietà ExportedCommands
.
Per visualizzare i comandi nel modulo Microsoft.PowerShell.Management
, eseguire:
gmo Microsoft.PowerShell.Management | Select-ExpandProperty ExportedCommands
Questo comando visualizza un elenco dei comandi disponibili nel modulo.
Individuazione delle directory dei moduli
I moduli non funzionano magicamente in PowerShell: risiedono in directory specifiche sul sistema e PowerShell deve sapere dove trovarli.
Per mostrare le posizioni dei moduli di PowerShell disponibili:
gmo -list
Le posizioni comuni includono:
- C:\Program Files\PowerShell\7\Modules
- C:\Program Files\WindowsPowerShell\Modules
- C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
Anche quando si esegue PowerShell Core, i moduli dalle directory di Windows PowerShell possono ancora comparire perché PowerShell Core può utilizzarli.
I moduli hanno categorie dedicate tramite la proprietà PSEdition
, che indica la compatibilità:
Core
– Realizzato per PowerShell Core.Desk
– Progettato per Windows PowerShell.Both
– Compatibile con entrambe le edizioni.
Gestione della variabile PSModulePath
PowerShell non cerca automaticamente in tutto il sistema i moduli, ma si basa su percorsi specifici definiti dalla variabile di ambiente PSModulePath
. Se un modulo non si trova in uno di questi percorsi, PowerShell non lo troverà, anche se è stato installato altrove.
Per visualizzare la variabile di ambiente PSModulePath
:
$env:PSModulePath
La variabile contiene un elenco di directory separate da punto e virgola.
Per una maggiore leggibilità, suddividila in un array:
$env:PSModulePath -split ';'
PowerShell cerca i moduli in:
- Directory a livello utente (ad esempio, la cartella Documenti del profilo utente).
- Directory condivise in Program Files.
- Directory a livello di sistema, come C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules.
Puoi anche aggiungere directory personalizzate al percorso di ricerca:
$env:PSModulePath + ';C:\MyNewModulePath' $env:PSModulePath
Questa modifica si applica alla sessione corrente, indicando a PowerShell di cercare i moduli nel percorso specificato.
Conclusione
In questo articolo hai scoperto come individuare i moduli disponibili, visualizzare le loro versioni, ispezionare i loro comandi e individuare le directory di archiviazione. Hai anche imparato come sfruttare la variabile di ambiente PSModulePath
per personalizzare dove PowerShell cerca i moduli.
Queste competenze fondamentali ti consentono di sbloccare il pieno potenziale di PowerShell per i tuoi compiti di automazione. Continua a mettere in pratica questa conoscenza. Inizia esplorando i moduli già disponibili sul tuo sistema e identificando quelli che soddisfano le tue esigenze attuali.
Con una comprensione più approfondita dei moduli, sarai pronto a affrontare sfide di automazione complesse in modo sicuro ed efficiente!
Source:
https://adamtheautomator.com/powershell-modules-guide/