
Se ti affidi ancora a script PowerShell personalizzati per semplici trasferimenti di file o per generare report Excel, è il momento di semplificare il tuo flusso di lavoro. I moduli PowerShell predefiniti possono gestire la maggior parte delle attività di routine in modo molto più efficiente rispetto a qualsiasi script che potresti creare manualmente.
Per iniziare a utilizzare questi moduli, assicurati di eseguire almeno PowerShell 5.1. Sebbene molti moduli siano compatibili con PowerShell 7 su diverse piattaforme, alcuni potrebbero essere limitati a Windows.È inoltre fondamentale abilitare l’esecuzione degli script modificando i criteri di esecuzione come segue:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force
Durante l’installazione dei moduli, utilizzare sempre il parametro -Scope CurrentUser per eliminare la necessità di autorizzazioni amministrative.
6 PSReadLine
Incluso di default in PowerShell, PSReadLine è spesso sottoutilizzato, anche dagli utenti più esperti. Questo modulo migliora l’esperienza d’uso della riga di comando con funzionalità come l’evidenziazione della sintassi, la modifica multi-riga e le funzionalità predittive di IntelliSense.

Per ottenere la versione più recente di PSReadLine, utilizzare il seguente comando:
Install-Module -Name PSReadLine -Scope CurrentUser -Force
Abilitando IntelliSense migliorerai la cronologia dei comandi, fornendo suggerimenti durante la digitazione. Per attivarlo, procedi come segue:
Set-PSReadLineOption -PredictionSource HistorySet-PSReadLineOption -PredictionViewStyle ListView
Dopo aver eseguito alcuni comandi precedenti, come ipconfig o Get-Service, IntelliSense suggerirà le opzioni dalla cronologia non appena si inizia a digitare.È possibile navigare tra i suggerimenti utilizzando i tasti freccia Su e Giù, confermando la selezione con il tasto Invio.
5 Importa Excel
Con oltre 14 milioni di download, ImportExcel è una scelta popolare per gli utenti che desiderano creare fogli di calcolo Excel senza dover usare Excel stesso, ideale per ambienti server o script di automazione.

Per installare ImportExcel, immettere il seguente comando:
Install-Module -Name ImportExcel -Scope CurrentUser
Questo modulo può eseguire attività che vanno dalle esportazioni di base a funzioni più complesse come tabelle pivot e formattazione condizionale. Ad esempio, per esportare informazioni sui processi in esecuzione in un foglio di calcolo formattato, utilizzare:
Get-Service | Where-Object {$_.Status -eq "Running"} |Export-Excel -Path "ServiceReport.xlsx" -AutoSize -TableStyle Medium9 -FreezeTopRow
Questo comando raccoglie tutti i servizi attivi e li esporta in un file Excel, formattando le colonne per adattarle al contenuto e bloccando la riga di intestazione per comodità.

4 PSWriteHTML
PSWriteHTML consente di trasformare l’output di PowerShell in report HTML, completi di tabelle e grafici, senza richiedere alcuna conoscenza pregressa di codifica HTML.

Installare il modulo con il comando:
Install-Module -Name PSWriteHTML -Scope CurrentUser
Per creare un report di sistema che evidenzi i primi dieci processi in base all’utilizzo della CPU, utilizzare:
Import-Module PSWriteHTML;$procs = Get-Process | Select-Object Name, CPU, WorkingSet -First 10New-HTML -TitleText "System Report" -FilePath "Report.html" -ShowHTML {New-HTMLSection -HeaderText "Process Information" {New-HTMLTable -DataTable $procs -Filtering -Buttons @('copyHtml5', 'excelHtml5')}}
Il codice HTML generato è dotato di funzionalità di ordinamento, filtraggio ed esportazione basate su JavaScript.

3 PSWindowsUpdate
Essendo il modulo più popolare nella PowerShell Gallery con oltre 33 milioni di download, PSWindowsUpdate offre cmdlet progettati specificamente per gestire il client Windows Update.

Installalo utilizzando il seguente comando:
Install-Module -Name PSWindowsUpdate -Scope CurrentUser
Questo modulo fornisce cmdlet per una gestione completa di Windows Update, ideali per automatizzare le attività. Controlla gli aggiornamenti in sospeso su più server contemporaneamente con:
$Servers = 'SERVER01', 'SERVER02', 'SERVER03'Invoke-Command -ComputerName $Servers -ScriptBlock {Import-Module PSWindowsUpdate<|image_sentinel|>Get-WindowsUpdate -MicrosoftUpdate | Select-Object @{n='Computer';e={$env:COMPUTERNAME}}, KB, Title, Size, IsDownloaded, IsInstalled, RebootRequired} | Sort-Object Computer, KB | Format-Table -AutoSize
In questo modo, vengono visualizzati rapidamente gli aggiornamenti in sospeso sui server.È possibile installare aggiornamenti specifici, nascondere quelli problematici o pianificare le installazioni in modo pratico. Utilizzare il parametro -AcceptAll per ignorare le richieste di conferma.
2 Icone del terminale
Rinnova l’esperienza del terminale PowerShell con Terminal-Icons, che aggiunge icone riconoscibili ai file negli elenchi delle directory. Ogni tipo di file è rappresentato con un’icona e un colore univoci, migliorando la visibilità e la facilità di navigazione.

Per installare, eseguire:
Install-Module -Name Terminal-Icons -Scope CurrentUser
Questo modulo migliora l’output di Get-ChildItem. Dopo l’installazione, per visualizzare le icone, utilizzare:
Import-Module Terminal-Icons
Successivamente, quando si esegue Get-ChildItem o i suoi alias, ogni tipo di file visualizzerà la rispettiva icona e colore. Gli script di PowerShell mostreranno il logo di PowerShell e le cartelle mostreranno le icone designate. Questo aggiornamento estetico non solo migliora l’aspetto del terminale, ma aiuta anche a identificare rapidamente i file durante la navigazione tra le schede. Si prega di notare che l’installazione di un Nerd Font è necessaria per il corretto rendering delle icone.

1 Transferetto
Transferetto è un modulo di PowerShell progettato per semplificare l’interazione con FTP, FTPS e SFTP. Invece di addentrarsi nelle classi. NET o utilizzare strumenti di terze parti, offre cmdlet intuitivi e nativi di PowerShell.

Per installare Transferetto, utilizzare:
Install-Module -Name Transferetto -Scope CurrentUser
Il flusso di lavoro rispecchia da vicino quello dei moduli del database: connessione, esecuzione delle attività e disconnessione:
$Client = Connect-FTP -Server "ftp.example.com" -Credential (Get-Credential)Send-FTPFile -Client $Client -LocalPath "C:\Reports\Report1.xlsx" -RemotePath "/uploads/"Disconnect-FTP -Client $Client
Oltre alle funzioni di base, Transferetto supporta configurazioni SSL, metodi di crittografia, opzioni di convalida dei certificati e il comando Request-FTPConfiguration, che può testare automaticamente le impostazioni di connessione al server.
Inoltre, non è limitato ai singoli file: è possibile caricare intere directory utilizzando Send-FTPDirectory o persino eseguire trasferimenti FXP (copia di file da server a server).Grazie al supporto per SFTP e SSH, consente anche di eseguire comandi remoti insieme ai trasferimenti di file.
Poiché Transferetto funziona sia su Windows PowerShell 5.1 che su PowerShell 7+, gli script rimangono funzionali sulle piattaforme Windows, Linux e macOS senza richiedere alcuna modifica.
Anche se l’utilizzo di PowerShell è limitato alle attività di base, familiarizzare con diversi moduli può migliorare la tua efficienza. Moduli come PSReadLine accelerano la digitazione con suggerimenti predittivi, ImportExcel semplifica la gestione dei fogli di calcolo senza Excel e Terminal-Icons migliora la leggibilità dell’interfaccia del terminale.
Nella PowerShell Gallery è disponibile una vasta gamma di moduli. Assicuratevi di verificarne la compatibilità e la cronologia degli aggiornamenti prima dell’installazione. Iniziate con uno o due moduli che rispondono direttamente alle vostre esigenze più urgenti, quindi ampliate gradualmente il vostro toolkit man mano che acquisite maggiore familiarità.
Lascia un commento