PowerShell 7: come installarlo e aggiornarlo su Windows, Mac e Linux
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.
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
sudoe l’accesso apackages.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 --exactL’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 wingetWinGet 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-availableWindows: 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 wingetSe 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.PowerShellSe 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 wingetPrima 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 powershellPer aggiornare servono due comandi, in quest’ordine. Il primo aggiorna Homebrew e le sue formule, il secondo porta PowerShell all’ultima versione.
brew updatebrew upgrade powershellSe 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 powershellUbuntu: 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 updatesudo apt-get install -y wget apt-transport-https software-properties-commonIl 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-releaseAttenzione: 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.debsudo dpkg -i packages-microsoft-prod.debrm packages-microsoft-prod.debPoi si aggiorna di nuovo l’elenco, che adesso comprende il repository Microsoft, e si installa PowerShell:
sudo apt-get updatesudo apt-get install -y powershellMicrosoft 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 updatesudo apt-get install -y wgetsource /etc/os-releaseAttenzione: 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.debsudo dpkg -i packages-microsoft-prod.debrm packages-microsoft-prod.debsudo apt-get updatesudo apt-get install -y powershellPer 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-releasemajorver=${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.rpmsudo rpm -i packages-microsoft-prod.rpmrm packages-microsoft-prod.rpmIl 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 updatesudo dnf install powershell -yAnche 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.

pwshDentro la sessione, la variabile automatica $PSVersionTable mostra i dettagli della versione in uso:
$PSVersionTableLa 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.gzin 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:
- Windows con WinGet:
winget uninstall --id Microsoft.PowerShell - 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.
- Windows con il pacchetto MSI: si rimuove da Programs and Features nel Pannello di controllo.
- Windows con il pacchetto ZIP: si cancella la cartella in cui l’avevi estratto.
- macOS con Homebrew:
brew uninstall powershell - Ubuntu e Debian:
sudo apt-get remove powershell - 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:
- Microsoft Learn: installare PowerShell 7 su Windows
- Microsoft Learn: metodi alternativi di installazione (Homebrew su macOS)
- Microsoft Learn: PowerShell su Linux, distribuzioni supportate
- Microsoft Learn: installare PowerShell 7 su Ubuntu
- Microsoft Learn: installare PowerShell 7 su Debian
- Microsoft Learn: installare PowerShell 7 su Red Hat Enterprise Linux
- Microsoft Learn: about_Automatic_Variables ($PSVersionTable)


