Gli sviluppatori Microsoft hanno recentemente annunciato, tramite un post sul blog , il rilascio della versione finale di PowerShell 7. È ora disponibile per Windows, macOS e Linux. Quest'ultima versione include nuove funzionalità relative al supporto per .NET Core e nuovi operatori.
PowerShell è ottimizzato per automatizzare le operazioni da riga di comando e fornisce strumenti integrati per l'elaborazione di dati strutturati in formati come JSON, CSV e XML, oltre a supportare API REST e modelli a oggetti.
Oltre alla shell dei comandi, vengono offerti un linguaggio di scripting orientato agli oggetti e una serie di utilità per la gestione di moduli e script.
A partire dal ramo PowerShell 6, il progetto è stato sviluppato utilizzando la piattaforma .NET Core. Per impostazione predefinita, PowerShell trasferisce la telemetria con la descrizione del sistema operativo e la versione del programma (per disabilitare la telemetria, è necessario impostare la variabile di ambiente POWERSHELL_TELEMETRY_OPTOUT = 1 prima di iniziare).
Cosa c'è di nuovo in PowerShell 7?
In sintesi, PowerShell 7 integra le seguenti modifiche : migrazione dalla versione 2.x di .Net Core alla nuova versione 3.1 e introduzione degli operatori ternari "a? b: c «, assegnazione e unione a zero «? e ?? = «.
L' aggiornamento .Net Core 2.xa 3.1 introdotto in questa nuova versione di PowerShell 7 consente una maggiore compatibilità con i moduli PowerShell esistenti per Windows.
"Se in passato non sei stato in grado di utilizzare PowerShell Core 6.x a causa di problemi di compatibilità tra moduli, questa potrebbe essere la prima volta che potrai sfruttare alcune delle fantastiche funzionalità che abbiamo già fornito. Dall'inizio del progetto PowerShell Core! «, Sottolinea Microsoft.
Aggiunge che:
»Il passaggio da PowerShell Core 6.x a 7.0 segna anche il nostro passaggio da .NET Core 2.xa 3.1.
.NET Core 3.1 reintroduce un gran numero di API del .NET Framework (soprattutto su Windows), consentendo una maggiore compatibilità con i moduli Windows PowerShell esistenti. Ciò include molti moduli Windows che richiedono funzionalità GUI, come Out-GridView e Show-Command, nonché numerosi moduli di gestione dei ruoli forniti con Windows.
L'elenco completo dei sistemi operativi supportati è offerto come varianti x64 di Windows 7, 8.1 e 10, Windows Server 2008 R2, 2012, 2012 R2, 2016 e 2019, macOS 10.13+, Red Hat Enterprise Linux (RHEL) / CentOS 7+, Fedora 29+, Debian 9+, Ubuntu 16.04+, openSUSE 15+ e Alpine Linux 3.8+.
Sono supportate anche le versioni ARM32 e ARM64 di Debian e Ubuntu, così come Alpine Linux per ARM64. Microsoft afferma che, sebbene non ufficialmente supportato, esistono pacchetti creati dalla community per Arch e Kali Linux. PowerShell 7 è disponibile per il download da GitHub e la documentazione per l'installazione è disponibile anche per Windows, macOS e Linux.
Microsoft sta già guardando avanti a PowerShell 7.1, la cui prima anteprima verrà rilasciata a breve. Nel frattempo, torniamo alle nuove funzionalità che rendono speciale PowerShell 7:
- .NET Core 3.1 (LTS)
- Busta di compatibilità di Windows
- notifica della nuova versione
- nuova visualizzazione degli errori e il cmdlet Get-Error
- operatori di filiere (&& e |||)
- operatore ternario (a? b: c)
- Assegnazione null e operatori di coalescenza (??? e ?? =)
- invoke-DscResource multipiattaforma (sperimentale)
- out-GridView, -ShowWindowWindow e altri cmdlet della GUI sono tornati in Windows
Infine, se desiderate saperne di più, potete consultare i dettagli al seguente link.
Come installare PowerShell 7 su Linux?
Per chi fosse interessato a installare questa nuova versione di PowerShell sul proprio sistema, è possibile scaricare i pacchetti predisposti per le diverse distribuzioni Linux dal seguente link.
Sebbene in genere sia possibile installare l'applicazione utilizzando i pacchetti Snap , l'unico requisito è che il sistema supporti l'installazione di questo tipo di pacchetto e che il servizio sia installato.
Per eseguire l'installazione, è sufficiente aprire un terminale ed eseguire il seguente comando:
snap install powershell --classic
Infine, nel caso in cui si opti per pacchetti creati appositamente per ciascuna distribuzione.
L'installazione può essere eseguita con il gesto del pacchetto o dal terminale con dpkg (per pacchetti deb o con rpm o dnf (per pacchetti rpm).
Ad esempio, nel caso dei pacchetti deb:
sudo dpkg -i powershell-7.0.0-1*.deb
Nel caso di RPM nelle distribuzioni generali con:
sudo rpm -i powershell-7.0.0-1*.rpm
O nel caso di Fedora o RHEL:
sudo dnf -i powershell-7.0.0-1*.rpm