Vai al contenuto

PowerShell 7: come installarlo e aggiornarlo su Windows, Mac e Linux

Immagine ufficiale di Microsoft News Center / Source
Immagine: Microsoft News Center / Source (Used with permission from Microsoft.)

Se su Windows apri un terminale e scrivi powershell, parte Windows PowerShell 5.1, quella compresa nel sistema, e nessun aggiornamento di Windows la trasforma in PowerShell 7. PowerShell 7 è un programma separato: si installa in una cartella sua, resta accanto alla 5.1 e si avvia con pwsh. Qui trovi come installarlo e aggiornarlo con WinGet su Windows, con Homebrew su macOS e con il repository Microsoft su Ubuntu, Debian e Red Hat Enterprise Linux, e poi come controllare quale versione è in uso. I comandi sono quelli della documentazione ufficiale di Microsoft, elencata in fondo.

Part 1 Intro and TelemetryIl video si carica da YouTube quando premi play

Al 12 novembre 2026 l’ultima versione stabile è PowerShell 7.7.0, pubblicata il 10 novembre. Le pagine di Microsoft Learn consultate riportano ancora versioni precedenti (la 7.6.6 come stabile, la 7.7 come anteprima). I comandi installano o aggiornano alla versione stabile che il rispettivo gestore di pacchetti mette a disposizione, e può recepire le nuove release con qualche giorno di ritardo.

Cosa serve

  • Sistemi coperti: Windows con WinGet, macOS con Homebrew, Ubuntu 22.04, 24.04 e 26.04, Debian 12 e 13, Red Hat Enterprise Linux 8, 9 e 10. Per Linux, le versioni supportate da Microsoft.
  • Windows: WinGet è compreso in Windows 11 e in Windows Server 2025, dentro App Installer. Su Windows Server 2025 c’è solo nell’edizione con esperienza desktop, mentre su Windows Server 2022 e sulle versioni precedenti non è disponibile. Se non hai WinGet, per esempio su Windows 10, requisiti e istruzioni sono nella documentazione di WinGet, come indica la pagina Microsoft.
  • macOS: Homebrew già installato seguendo le istruzioni del sito di Homebrew.
  • Linux: un account che può usare sudo e l’accesso a packages.microsoft.com.
  • Ubuntu: Microsoft non testa né supporta le versioni intermedie come la 25.10.
  • Fedora: non è tra le distribuzioni supportate da Microsoft. I metodi alternativi possono funzionare, ma in quel caso il supporto viene solo dalla comunità.

Controllare quale versione offre WinGet

Su Windows, prima di installare, questo comando cerca il pacchetto con l’ID esatto Microsoft.PowerShell e mostra la versione disponibile. Puoi lanciarlo dal Prompt dei comandi, da Windows PowerShell o da PowerShell 7.

winget search --id Microsoft.PowerShell --exact

L’esempio della pagina Microsoft è questo. Il numero che vedrai dipende dal giorno in cui lanci il comando:

Name Id Version Source
-----------------------------------------------------------------
PowerShell Microsoft.PowerShell 7.6.6.0 winget

WinGet scrive la versione con quattro numeri (7.6.6.0), PowerShell con tre (7.6.6): è la stessa versione.

Se PowerShell 7 è già installato, il secondo comando dice se c’è un aggiornamento. Se c’è, il risultato riporta l’ultima versione disponibile. Se non c’è, puoi passare alla verifica della versione.

winget list --id Microsoft.PowerShell --upgrade-available

Windows: installare o aggiornare con WinGet

Microsoft indica WinGet come metodo consigliato per i PC Windows. Dal pacchetto WinGet della 7.6.0 viene installato il pacchetto MSIX. Dalla 7.7.0 il pacchetto MSI non esiste più e WinGet installa solo l’MSIX. Se PowerShell 7 non è ancora installato, il comando è questo:

winget install --id Microsoft.PowerShell --source winget

Se invece è già installato, il comando dipende da come l’hai installato. WinGet per aggiornare richiede lo stesso tipo di installer dell’installazione esistente. Se è MSIX, lo aggiorni con upgrade:

winget upgrade --id Microsoft.PowerShell

Se invece è MSI, questo comando non ti porta alla 7.7, perché dalla 7.7.0 l’MSI non esiste più. Per passare all’MSIX, disinstalla prima l’MSI da Programs and Features nel Pannello di controllo, poi lancia:

winget install --id Microsoft.PowerShell --source winget

Prima controlla che i limiti dell’MSIX, descritti più sotto, siano compatibili con il tuo uso.

Ogni nuova versione di PowerShell 7 sostituisce quella precedente, e Microsoft consiglia di aggiornare con lo stesso metodo usato per installare. Se non ricordi quale hai usato, guarda dentro PowerShell 7 il valore di $PSHOME:

  • se comincia con $Env:ProgramFiles\WindowsApps\, è un’installazione MSIX;
  • se è $Env:ProgramFiles\PowerShell\7, probabilmente è l’MSI, e lo trovi in Programs and Features nel Pannello di controllo;
  • se è $HOME\.dotnet\tools, è lo strumento globale .NET;
  • in tutti gli altri casi, probabilmente è il pacchetto ZIP.

L’installazione MSIX ha dei limiti. Vale per un solo utente e non accetta connessioni remote PowerShell in entrata. Inoltre non puoi modificare le impostazioni salvate in $PSHOME, per esempio con Set-ExecutionPolicy -Scope LocalMachine. Se ti servono queste funzioni, tienine conto: dalla 7.7 l’MSI non esiste più.

macOS: installare e aggiornare con Homebrew

Su macOS si usa la formula di Homebrew. Microsoft la documenta tra i metodi alternativi ma non la supporta: la mantiene la comunità di Homebrew e compila PowerShell dai sorgenti, invece di installare un pacchetto costruito da Microsoft. Per installarla:

brew install powershell

Per aggiornare servono due comandi, in quest’ordine. Il primo aggiorna Homebrew e le sue formule, il secondo porta PowerShell all’ultima versione.

brew update
brew upgrade powershell

Se durante l’installazione compare l’avviso «Warning: PowerShell is already installed, it’s just not linked.», PowerShell è installato ma il comando non è collegato. Si risolve così:

brew link powershell

Ubuntu: aggiungere il repository Microsoft e installare

Su Ubuntu il metodo preferito da Microsoft è il suo repository, packages.microsoft.com. Funziona solo sulle versioni supportate per cui Microsoft pubblica il pacchetto: 22.04, 24.04 e 26.04. Si comincia aggiornando l’elenco dei pacchetti e installando gli strumenti necessari:

sudo apt-get update
sudo apt-get install -y wget apt-transport-https software-properties-common

Il comando seguente legge la versione di Ubuntu da /etc/os-release e la mette in $VERSION_ID, che serve subito dopo nell’indirizzo del download.

source /etc/os-release

Attenzione: i tre comandi che seguono scaricano un pacchetto da internet e lo installano con i permessi di amministratore. Il pacchetto registra le chiavi e il repository di Microsoft, e da quel momento apt installa anche pacchetti provenienti da lì. Controlla che l’indirizzo cominci con https://packages.microsoft.com/config/ubuntu/ e lancia i tre comandi dalla stessa cartella: così rm cancella solo il file scaricato, packages-microsoft-prod.deb.

wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Poi si aggiorna di nuovo l’elenco, che adesso comprende il repository Microsoft, e si installa PowerShell:

sudo apt-get update
sudo apt-get install -y powershell

Microsoft consiglia di aggiornare con lo stesso metodo usato per installare. Con il repository, quindi, si rilancia sudo apt-get update e poi sudo apt-get install -y powershell.

Debian: aggiungere il repository Microsoft e installare

Su Debian 12 e 13 la procedura è la stessa, ma all’inizio si installa solo wget.

sudo apt-get update
sudo apt-get install -y wget
source /etc/os-release

Attenzione: anche qui si scarica un pacchetto da internet e lo si installa come amministratore per registrare il repository di Microsoft. L’indirizzo deve cominciare con https://packages.microsoft.com/config/debian/. Se lanci i comandi dalla stessa cartella, rm elimina solo il file appena scaricato.

wget -q https://packages.microsoft.com/config/debian/$VERSION_ID/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y powershell

Per aggiornare si usa lo stesso metodo di Ubuntu: sudo apt-get update e poi sudo apt-get install -y powershell.

Red Hat Enterprise Linux: repository Microsoft e dnf

Su RHEL 8, 9 e 10 serve prima il numero principale della versione, perché l’indirizzo del repository usa quello. Il primo comando legge /etc/os-release. Il secondo toglie la parte dopo il punto (da 9.4 resta 9) e la salva in majorver.

source /etc/os-release
majorver=${VERSION_ID%.*}

Attenzione: i tre comandi che seguono scaricano da internet il pacchetto del repository Microsoft e lo installano con rpm come amministratore. Da quel momento dnf installa anche pacchetti da packages.microsoft.com. Controlla l’indirizzo e resta nella stessa cartella, perché rm deve cancellare solo packages-microsoft-prod.rpm.

curl -sSL -O https://packages.microsoft.com/config/rhel/$majorver/packages-microsoft-prod.rpm
sudo rpm -i packages-microsoft-prod.rpm
rm packages-microsoft-prod.rpm

Il comando che segue aggiorna l’elenco dei pacchetti e anche tutti i pacchetti già installati, non solo PowerShell: stai aggiornando anche il resto del sistema.

sudo dnf update
sudo dnf install powershell -y

Anche qui si aggiorna con lo stesso metodo: sudo dnf update e poi sudo dnf install powershell -y.

Avviare PowerShell 7 e verificare la versione

Su tutti i sistemi PowerShell 7 si avvia con il comando pwsh. Su Windows c’è anche la voce PowerShell 7 nel menu Start. Le voci Windows PowerShell e Windows PowerShell ISE aprono invece la 5.1.

Schermata della ricerca di Windows con l'applicazione PowerShell 7 selezionata nel menu Start.
Ricerca di PowerShell 7 nel menu Start di Windows per avviare la nuova versione. — Immagine: Microsoft News Center / Source (Used with permission from Microsoft.)
pwsh

Dentro la sessione, la variabile automatica $PSVersionTable mostra i dettagli della versione in uso:

$PSVersionTable

La riga da guardare è PSVersion, che deve corrispondere alla versione indicata da WinGet, Homebrew o dal gestore di pacchetti. La riga PSEdition vale Core per PowerShell 6 e successivi. Per uscire dalla sessione scrivi exit.

Provare gli script prima di cambiare versione

Su Windows, Ubuntu, Debian e RHEL l’aggiornamento sostituisce la versione precedente di PowerShell 7. Per tenere la vecchia versione accanto alla nuova, una delle due va installata a mano dall’archivio:

  • su Windows si estrae il pacchetto ZIP in una cartella diversa da $Env:ProgramFiles\PowerShell\7, poi si crea a mano il collegamento nel menu Start e si aggiunge la cartella al PATH;
  • su Linux si estrae l’archivio tar.gz in una cartella diversa da /opt/microsoft/powershell/7, altrimenti si sovrascrive l’installazione fatta con il pacchetto.

Le versioni di anteprima invece non sostituiscono quelle stabili: si installano a parte, su Windows nella cartella 7-preview, e si avviano con la voce PowerShell 7-preview o, su Linux, con pwsh-preview. Su Windows la pagina di installazione di Microsoft indica il comando WinGet per le anteprime, con l’ID Microsoft.PowerShell.Preview. In questo modo provi gli script con una versione di anteprima senza toccare quella in uso.

Le pagine di installazione consultate non elencano le modifiche incompatibili della 7.7. Prima di usarla con script esistenti, vanno lette nelle note di rilascio di PowerShell.

Tornare indietro o disinstallare

Per tornare a una versione precedente si disinstalla quella attuale e si reinstalla la versione che serve. Su Windows i pacchetti di ogni versione sono nella sezione Assets della release scelta, nella pagina Release tags di PowerShell su GitHub. Per Linux le pagine Microsoft indicano l’archivio binario. Si disinstalla con lo stesso metodo usato per installare:

  1. Windows con WinGet:
    winget uninstall --id Microsoft.PowerShell
  2. Windows dal Microsoft Store o dal pacchetto MSIX: apri il menu Start, cerca PowerShell 7 e scegli Uninstall. Se hai installato con WinGet dalla 7.6 in poi, di solito hai l’MSIX.
  3. Windows con il pacchetto MSI: si rimuove da Programs and Features nel Pannello di controllo.
  4. Windows con il pacchetto ZIP: si cancella la cartella in cui l’avevi estratto.
  5. macOS con Homebrew:
    brew uninstall powershell
  6. Ubuntu e Debian:
    sudo apt-get remove powershell
  7. RHEL:
    sudo dnf remove powershell

Se qualcosa va storto

  • WinGet non c’è: su Windows Server 2022 e versioni precedenti non è disponibile, e su Windows Server 2025 c’è solo con l’esperienza desktop. Per Windows Server la pagina Microsoft indica il pacchetto MSI, per Server Core il pacchetto ZIP.
  • Homebrew non installa la formula: se avevi installato PowerShell con il cask di Homebrew, devi disinstallare il cask prima di usare la formula.
  • Conflitti con .NET su Ubuntu: il repository Microsoft contiene anche pacchetti .NET in versioni diverse da quelli di Ubuntu. Se installi .NET per altri scopi, scegli quale fonte usare impostando la priorità dei repository.
  • Funzioni mancanti con l’MSIX: le connessioni remote in entrata e le impostazioni per tutti gli utenti non sono disponibili. L’esenzione dalla virtualizzazione di file e registro richiede Windows build 1903 o successiva.

Documentazione di riferimento

Pagine consultate il 12 novembre 2026, tutte nella versione 7.6 della documentazione:

  • Homebrew
  • PowerShell
  • Red Hat Enterprise Linux
  • Ubuntu
  • WinGet