PowerShell vs. PowerShell Core, cosa devi sapere

Microsoft ha annunciato la disponibilità generale di PowerShell Core 6.0 il 10 gennaio 2018.

PowerShell Core è una nuova versione di PowerShell, una shell della riga di comando e un linguaggio di scripting fornito con Microsoft Windows.

Il rilascio di PowerShell Core aumenta il numero di edizioni PowerShell a due. C'è il decennale PowerShell integrato in tutte le versioni recenti del sistema operativo Windows di Microsoft e nel nuovo PowerShell Core.

Microsoft vede PowerShell Core come un'evoluzione di PowerShell. Il primo è disponibile come applicazione multipiattaforma, il secondo solo per Windows.

La natura multipiattaforma di PowerShell Core significa che gli script scritti verranno eseguiti su qualsiasi sistema operativo supportato. È possibile scrivere script PowerShell Core su Windows e utilizzarli su dispositivi Mac OS X o Linux supportati. Esistono anche versioni sperimentali (non supportate) per i dispositivi ARM.

Microsoft lavora attivamente su PowerShell Core. PowerShell, d'altra parte, è in uno stato che può essere paragonato meglio al supporto esteso per le versioni di Windows. Microsoft non ha intenzione di aggiungere funzionalità a PowerShell, ma rilascerà correzioni di bug critici e aggiornamenti di sicurezza.

Tuttavia, al momento non è previsto di introdurre nuove funzionalità in Windows PowerShell. Ciò significa che il rischio di regressione sarà molto basso per Windows PowerShell, quindi puoi contare su di esso come piattaforma stabile per i tuoi carichi di lavoro esistenti.

PowerShell Core si installa parallelamente su Windows. In breve: PowerShell Core non influisce in alcun modo su Windows PowerShell sui dispositivi Windows.

PowerShell Core 6.0 non è potente come PowerShell 5.1. Una delle ragioni principali di ciò è che PowerShell ha accesso a .NET Framework e .NET Standard mentre PowerShell Core a .NET Core e .NET Standard con meno funzionalità.

Alcune tecnologie disponibili per Windows PowerShell non sono supportate da .NET Core. Microsoft rileva che alcune delle tecnologie potrebbero tornare nelle versioni future, ma che non sarà così per tutte.

La società menziona i flussi di lavoro PowerShell, gli snap-in PowerShell, i cmdlet WMlv1 e l'esecuzione specifica delle risorse di configurazione dello stato desiderato. Il documento Breaking changes per PowerShell 6.0 offre ulteriori dettagli.

Le differenze tra PowerShell e PowerShell Core

PowerShellPowerShell Core
versioniDa 1.0 a 5.16.0
piattaformeSolo Windows (client e server)Windows, Mac OS, Linux
Dipendenza.Net Framework.Net Core
usoSi basa sul runtime di .Net FrameworkSi basa sul runtime .Net Core
Lanciato comepowershell.exepwsh.exe (Windows), pwsh (Mac e Linux)
$ PSVersionTable.PSEditionImpostare su DesktopImpostato su Core
Politica di aggiornamentosolo correzioni di bug criticitutti gli aggiornamenti (funzionalità, bug)

Download di PowerShell Core

  • PowerShell Core per Windows è disponibile a questo link.
  • PowerShell Core per Mac OS X e Linux è disponibile a questo link.