A seconda del tuo sistema operativo e di quanto è aggiornato, avrai una certa versione di PowerShell nel sistema.
Una versione di PowerShell contiene tre o quattro numeri separati da punti (.) che rappresentano il numero della versione principale, il numero della versione secondaria, il numero della build e il numero della revisione (facoltativamente).
Microsoft integra nuove funzionalità all’interno di PowerShell migliorando quelle attuali su ogni build o versione successiva. Alcune edizioni rimuovono anche alcuni cmdlet obsoleti, quindi puoi usare solo quelli nelle build precedenti.
In quanto tale, è meglio se sai quale versione di PowerShell hai, soprattutto se stai entrando negli script di PowerShell. In questo modo, capirai meglio quali funzionalità o cmdlet includere e cosa escludere nei tuoi codici o script.
Edizioni e versioni attuali di PowerShell
Microsoft di solito raggruppa un’edizione specifica di PowerShell nel suo software di installazione, che si chiama Windows PowerShell. Ad esempio, queste erano le versioni di PowerShell durante il lancio iniziale delle seguenti build di Windows:
Windows 10 versione 1607, Windows 11 e Server 2016, 2019, 2022 – PowerShell 5.1 Windows 10 versione 1507, 1511 – PowerShell 5.0 Windows 8.1 e Server 2012 R2 – PowerShell 4.0
L’aggiornamento regolare di Windows installerà.NET Framework e Windows Management Framework necessari su tutti questi sistemi e aggiornerà Windows PowerShell all’ultima versione (5.1).
Ma Microsoft ha continuato a sviluppare PowerShell e ha rilasciato ulteriori edizioni anche se non sono in bundle con il sistema operativo Windows. Queste build sono comunemente chiamate PowerShell Core per differenziarle da Windows PowerShell. Tuttavia, di solito li vedrai come PowerShell 6.x o PowerShell 7.x.
Devi scaricare e installare le ultime versioni di PowerShell separatamente per averle nel tuo sistema. Microsoft fornisce molti metodi per installare questa applicazione, ma potrebbero installare il programma in posizioni diverse. Quindi, è meglio continuare a utilizzare lo stesso metodo anche durante l’installazione di versioni o build future.
Come controllare la versione di PowerShell?
Dovresti già avere una stima provvisoria della version durante l’apertura del programma stesso.
In Windows 10 e 11, il comando PowerShell su Esegui apre Windows Powershell (versione 5) mentre è necessario utilizzare il comando pwsh per aprire PowerShell Core (v6 o v7). La ricerca di PowerShell sulla barra di ricerca (Win + S) elenca anche Windows PowerShell, PowerShell 7 e così via.
PowerShell Core mostra anche il numero di versione in alto dopo averlo aperto. Ma dovrai eseguire alcuni cmdlet all’interno di Windows PowerShell per conoscere la versione completa. Puoi anche ottenere queste informazioni dalle voci di registro corrispondenti.
Nota: PowerShell non è un’interfaccia della riga di comando con distinzione tra maiuscole e minuscole. Pertanto, non è necessario preoccuparsi di abbinare i casi di tutti i cmdlet.
Utilizzo del cmdlet $PSVersionTable
$PSVersionTable è il miglior cmdlet per verificare la versione corrente di PowerShell. Mostrerà tutte le informazioni sulla versione, incluso il numero di versione in un formato di tabella.
Apri PowerShell. Digita $PSVersionTable e premi Invio. Qui, controlla il valore di PSVersion per trovare la versione di PowerShell. In alternativa, puoi inserire direttamente $PSVersionTable.PSVersion per ottenere solo il numero di versione.
Utilizzo di Get-Host o $Host Cmdlet
PowerShell utilizza il concetto di host nel suo funzionamento e consente ad altre applicazioni di ospitare se stesse utilizzando la classe System.Management.Automation.PowerShell.
I cmdlet Get-Host o $host visualizzano le informazioni dell’host PowerShell corrente, che è la console PowerShell predefinita. Queste informazioni includono anche il numero di versione di PowerShell.
Tuttavia, tieni presente che potresti non ottenere un risultato accurato se utilizzi questo cmdlet come script per ottenere la versione di PowerShell su un computer remoto.
Apri PowerShell. Immettere Get-Host o $Host e controllare il valore accanto a Version. In alternativa, è possibile immettere direttamente uno dei seguenti cmdlet per visualizzare solo il numero di versione. (Get-Host).Version $Host.Version
Attraverso l’editor del registro
Il tuo registro memorizza tutte le informazioni necessarie sui tuoi programmi e funzionalità, incluso il numero di versione. Pertanto, puoi utilizzare l’Editor del Registro di sistema per verificare la versione corrente di PowerShell.
Per visualizzare la versione di Windows PowerShell:
Apri Esegui (Windows + R ). Digita regedit e premi Invio per aprire l’Editor del Registro di sistema. Vai a Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine Controlla il valore di PowerShellVersion. Puoi anche utilizzare il seguente cmdlet su PowerShell per ottenere il valore di questa voce di registro.
(Ottieni-ItemProperty-Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine-Name’PowerShellVersion’).PowerShellVersion
Per vedere la versione di PowerShell Core:
Apri l’editor del registro. Vai a Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShellCore\InstalledVersions\ Seleziona la/e chiave/e all’interno di InstalledVersions e controlla SemanticVersion. Se si dispone di più istanze di PowerShell Core (può accadere se si installano versioni diverse con metodi diversi), è possibile controllare la voce InstallLocation per determinare quale versione punta a quale programma.