Windows PowerShell è parte integrante del sistema operativo Windows. È una shell della riga di comando e un linguaggio di scripting utilizzato per automatizzare attività ripetitive che richiedono tempo, creare strumenti di gestione personalizzati e creare, testare e distribuire soluzioni per vari altri problemi.

La versione predefinita di PowerShell preconfezionata nel sistema operativo Windows è PowerShell 5.1 o semplicemente Windows PowerShell. Ma con PowerShell 7 già rilasciato e stabile, non ha più senso per il sistema operativo Windows utilizzare l'ultima versione di PowerShell? Quali vantaggi offre comunque PowerShell 7? E vale la pena l'aggiornamento? Parliamone!

Cos'è PowerShell 7?

PowerShell 7 è l'ultima versione di rilascio LTS di PowerShell. Questa versione di PowerShell è sviluppata attraverso il più recente framework .NET Core, che consente diversi importanti aggiornamenti che gli utenti esperti di Windows troveranno utili.

PowerShell 7 è registrato e concesso in licenza con licenza MIT. È adesso

instagram viewer
software open source, dove le persone possono visualizzare, modificare e distribuire liberamente la propria copia del codice sorgente del software. Gli sviluppatori possono anche contribuire alle versioni ufficiali di PowerShell aderendo Pagina GitHub ufficiale di PowerShell.

Con il supporto della community, questa versione di PowerShell è ora multipiattaforma! Ciò significa che ora può essere installato e utilizzato su Windows, macOS e Linux. Di seguito è riportato un elenco dei sistemi operativi x64 supportati:

  • Finestre 8.1, 10, 11
  • Windows Server 2012, 2012 R2, 2016 e 2019
  • macOS 10.13+
  • Red Hat Enterprise Linux (RHEL) / CentOS 7
  • Federa 30+
  • Debian 9
  • Ubuntu LTS 16.04+

Alpine Linux 3.8+ PowerShell 7 è supportato anche su varie distribuzioni ARM32 e ARM64 di Debian, Ubuntu e ARM64 Alpine Linux. Per chi fosse interessato, ci sono anche pacchetti non supportati per Arch e Kali Linux.

Quali sono le nuove funzionalità incluse in PowerShell 7?

Immagine di credito: Windows/Unsplash

Oltre ad essere multipiattaforma e open source, PowerShell 7 ha molte altre nuove funzionalità che migliorano ulteriormente la produttività. Ecco alcuni dei più notevoli:

1. Migliore compatibilità con le versioni precedenti

Con la differenza nel framework, le versioni di Windows PowerShell e PowerShell che usano il framework .NET Core presenteranno incompatibilità. Per facilitare la transizione delle persone, PowerShell 7 ora integra il modulo WindowsCompatibility. Questo modulo è progettato per consentire i moduli di Windows PowerShell e molti altri popolari comandi CMD lavorare in PowerShell 7.

2. Parallelizzazione della pipeline con ForEach-Object

PowerShell 7 ora ha un parametro Parallel. In Windows PowerShell, ogni oggetto con pipe che utilizza il cmdlet ForEach-Object verrà eseguito uno alla volta. Ma con il nuovo parametro Parallel, tutti gli oggetti reindirizzati vengono ora eseguiti contemporaneamente. Questo migliora drasticamente le prestazioni che possono farti risparmiare tempo.

3. Operatori ternari

I condizionali di Windows PowerShell vengono eseguiti tramite istruzioni if-else. PowerShell 7 lo rende ancora più semplice introducendo operatori ternari, che sono fondamentalmente versioni semplificate delle istruzioni if-else utilizzando "?" e ":" nella sintassi. Questa funzione consente un'esperienza di scripting più rapida e pulita.

4. Operatori della catena di condutture

Gli operatori della pipeline sono una caratteristica importante di Windows PowerShell. Consente di creare espressioni complesse prendendo l'output di un cmdlet e utilizzandolo su un altro cmdlet. Ciò, tuttavia, è limitato poiché Windows PowerShell non è in grado di elaborare espressioni condizionali utilizzando normali operatori di pipeline.

PowerShell 7 risolve questo problema introducendo gli operatori della catena di pipeline, che sono "&&" e "||". Questo nuovo operatore pipeline consente a PowerShell di eseguire comandi con espressioni condizionali.

L'operatore && viene utilizzato per eseguire il comando della pipeline di destra solo se il comando prima dell'operatore ha esito positivo. Mentre l'operatore || eseguirà il comando della pipeline di destra solo se il comando prima dell'operatore fallisce.

Perché PowerShell 7 non è l'impostazione predefinita su Windows?

Immagine di credito: Mike Schinkel/Flickr

PowerShell 7 è un software multipiattaforma open source che fornisce funzionalità che possono migliorare drasticamente le prestazioni e la velocità di scripting. Allora perché Microsoft non lo rende il PowerShell predefinito in Windows?

L'attuale PowerShell preinstallato con i sistemi Windows più recenti è PowerShell 5.1. Questa è l'ultima versione di PowerShell che utilizza il framework .NET. Anche se è vero che le sue versioni successive forniscono funzionalità migliori, Windows PowerShell ha ancora un vantaggio rispetto al nuovo PowerShell: completa compatibilità con le versioni precedenti.

Il primo PowerShell è stato rilasciato il 14 novembre 2006. Questo accadeva quando Windows Vista e XP erano ancora l'ultimo sistema operativo Windows. Secondo ricerca da enlyft, solo negli Stati Uniti oltre 46.000 aziende utilizzano ancora Windows XP. Queste aziende semplicemente non possono eseguire l'aggiornamento all'ultimo PowerShell in quanto causerebbe un sacco di problemi di incompatibilità con le versioni precedenti anche con il modulo WindowsCompatibility integrato di PowerShell 7.

Per le grandi aziende e le varie infrastrutture critiche (ATM, fornitori di energia, ferrovie, ospedali, ecc.), ritardare servizio per settimane o mesi solo per ricostruire, testare e distribuire script che già funzionavano con PowerShell 5.1 non è semplicemente un opzione. Non importa tutti i bug che potrebbero emergere durante le ore di funzionamento effettive.

Poiché PowerShell 5.1 è l'ultimo PowerShell basato su. NET framework, è garantito il funzionamento con tutte le versioni precedenti di PowerShell, anche quella rilasciata nel 2006.

Dovresti eseguire l'aggiornamento a PowerShell 7?

PowerShell 7 offre molti aggiornamenti utili che rendono l'interfaccia della riga di comando e lo scripting più semplici, veloci e convenienti grazie al supporto multipiattaforma. Al contrario, Windows PowerShell fornisce una completa compatibilità con le versioni precedenti a tutti i precedenti PowerShell precedenti a PowerShell 6. Quindi, dovresti continuare a utilizzare Windows PowerShell o eseguire l'aggiornamento al più recente PowerShell 7?

L'aspetto positivo di PowerShell 7 è che è stato progettato per coesistere con Windows PowerShell 5.1. Oltre al modulo WindowsCompatibility integrato, PowerShell 7 fornisce anche un percorso di installazione separato, un nome eseguibile, PSModulePath e registri eventi per garantire che non interferisca con Windows già installato PowerShell.

Quindi, per la grande maggioranza delle persone che desiderano provare le nuove funzionalità di PowerShell 7, possono certamente farlo mantenendo il loro Windows PowerShell predefinito. Se sei curioso di sapere se il nuovo PowerShell fa per te, allora dovresti assolutamente provare il nuovo PowerShell.

Sebbene PowerShell 7 fornisca una buona compatibilità con le versioni precedenti, ci saranno sempre alcune discrepanze dovute alle loro differenze nel framework. Se lavori in un'azienda o un'organizzazione che fa molto affidamento su strumenti e programmi personalizzati realizzati da Windows PowerShell, la migrazione del sistema aziendale a PowerShell 7 potrebbe non essere una buona idea.

PowerShell 7 ha fornito molti aggiornamenti, ma ha anche eliminato alcuni moduli e cmdlet legacy. Se sei una persona che è già soddisfatta del PowerShell predefinito, non c'è davvero alcun motivo per migrare, soprattutto se non hai tempo di leggere la documentazione.

PowerShell 7 rende più veloce lo scripting

PowerShell 7 è una delle versioni stabili più recenti di PowerShell con supporto a lungo termine (LTS). Fornisce un modo più rapido e semplice per utilizzare PowerShell, anche se si utilizzano altri sistemi operativi come macOS o Linux. Anche se potrebbe volerci un po' di tempo per leggere la sua documentazione, alla fine risparmierai più tempo una volta acquisita competenza con i nuovi aggiornamenti.