51 06/04/2026 07/04/2026 9 min

Installare il nuovo PowerShell su Windows 11

Su Windows 11 il “nuovo PowerShell” non è Windows PowerShell 5.1, ma PowerShell 7, la versione moderna, supportata e aggiornata del linguaggio e della shell. Si installa in parallelo alla versione classica, quindi non sostituisce automaticamente nulla: questo è il punto chiave da tenere a mente se vuoi fare il passaggio senza rischi.

La scelta corretta, nella maggior parte dei casi, è installare PowerShell 7 e usarlo come shell principale solo dopo aver verificato che gli script e i moduli che ti servono siano compatibili. In pratica: prima installi, poi testi, poi decidi se renderlo predefinito.

Che cosa cambia rispetto a Windows PowerShell 5.1

Windows PowerShell 5.1 è integrato in Windows e rimane disponibile. PowerShell 7, invece, è distribuito come prodotto separato, con ciclo di rilascio indipendente, miglioramenti prestazionali, supporto cross-platform e funzioni più moderne.

Le differenze che contano davvero in ambiente operativo sono queste:

  • Installazione separata: non rimuove né sovrascrive la versione classica.
  • Compatibilità: alcuni moduli storici funzionano solo in 5.1, altri richiedono 7.
  • Avvio: puoi richiamare esplicitamente una o l’altra versione.
  • Distribuzione: puoi installare da Microsoft Store, Winget, MSI o pacchetto manuale.

Se gestisci postazioni utente o ambienti standardizzati, la via più pulita è usare Winget o MSI. Se invece vuoi un’installazione rapida su una macchina singola, lo Store può andare bene, ma è meno comodo da automatizzare.

Metodo consigliato: installazione con Winget

Se Windows 11 ha già Winget disponibile, è la strada più lineare. Non devi cercare installer, e l’aggiornamento futuro si gestisce con la stessa logica.

Apri Terminale o Prompt dei comandi come utente normale o amministratore, poi verifica che Winget sia presente:

winget --version

Se risponde con una versione, puoi procedere. Per installare PowerShell 7:

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

Il comando scarica e installa la versione corrente stabile. In molti casi non serve elevazione, ma se il sistema lo richiede, apri il terminale come amministratore.

Dopo l’installazione, verifica che il binario sia disponibile:

pwsh --version

Il comando corretto per PowerShell 7 è pwsh, non powershell. Se vedi una versione del tipo 7.x.x, l’installazione è andata a buon fine.

Installazione dal Microsoft Store

Lo Store è utile se vuoi una procedura semplice e gestita da Microsoft, soprattutto su PC utente. Cerca PowerShell nel Microsoft Store e installa l’app ufficiale pubblicata da Microsoft.

Questo approccio ha un vantaggio operativo: gli aggiornamenti arrivano tramite il meccanismo dello Store. Il limite è che in ambienti con policy restrittive o senza Store abilitato non è la scelta più comoda.

Dopo l’installazione, apri il menu Start e cerca PowerShell oppure PowerShell 7. In alternativa lancia:

pwsh

Se il prompt si apre e il comando seguente restituisce la versione prevista, sei a posto:

$PSVersionTable.PSVersion

Nel campo Major dovresti vedere 7.

Installazione tramite MSI

Se devi fare rollout su più macchine, l’MSI è spesso la scelta migliore. Puoi scaricarlo dalla pagina ufficiale dei rilasci di PowerShell su GitHub o dal sito Microsoft, poi distribuirlo con strumenti di gestione software.

Il vantaggio dell’MSI è che puoi controllare meglio percorso, versione e installazione silenziosa. In contesti aziendali è la strada più prevedibile.

Una volta scaricato il file MSI, avvialo con doppio clic e segui la procedura guidata. Se ti serve una distribuzione silenziosa, il principio è quello classico degli installer MSI, ma la sintassi precisa può variare a seconda della versione e del pacchetto pubblicato. In quel caso conviene consultare la documentazione ufficiale del rilascio specifico prima di standardizzare il comando.

Verifica finale:

pwsh -NoLogo -NoProfile

Se la shell parte correttamente e il prompt risponde, l’installazione è operativa.

Come aprire PowerShell 7 su Windows 11

Dopo l’installazione, hai più modi per aprirlo:

  1. Dal menu Start, cerca PowerShell 7 o pwsh.
  2. Da Terminale Windows, apri un nuovo profilo o una scheda PowerShell.
  3. Da Esegui con Win + R, digita pwsh.
  4. Da una console già aperta, richiama direttamente il comando pwsh.

Se vuoi sapere con certezza quale shell stai usando, esegui:

$PSVersionTable

Se sei in PowerShell 7, la versione maggiore sarà 7 e troverai informazioni coerenti con il runtime moderno. Se invece sei in Windows PowerShell classico, vedrai 5.1.

Impostarlo come shell predefinita nel Terminale di Windows

Molti utenti installano PowerShell 7 ma continuano ad aprire il vecchio profilo del Terminale. Se vuoi usarlo davvero come default, devi impostarlo nel Terminale di Windows.

Apri Windows Terminal, vai nelle Impostazioni e cerca la voce relativa al profilo predefinito. Seleziona PowerShell che corrisponde a pwsh o PowerShell 7. In alcune versioni del Terminale il profilo è identificato chiaramente con il nome dell’app.

Se vuoi verificare il profilo attivo, puoi controllare il comportamento al riavvio del Terminale: se all’apertura trovi una shell con versione 7, l’impostazione è corretta.

In ambienti con più profili, conviene distinguere bene tra:

  • Windows PowerShell: la 5.1 storica.
  • PowerShell o PowerShell 7: la shell moderna.
  • Prompt dei comandi e altri profili: separati e indipendenti.

Associare i file .ps1 al nuovo PowerShell

Per default, i file .ps1 non si aprono sempre con PowerShell 7. Se vuoi che un doppio clic o un’apertura da Esplora file usi la versione nuova, devi intervenire sulle associazioni oppure usare un collegamento esplicito.

La soluzione più sicura, in ambito operativo, non è forzare tutto a livello di sistema, ma creare un collegamento o usare il lancio esplicito con pwsh. In questo modo eviti di cambiare il comportamento globale di macchine dove esistono script legacy legati alla 5.1.

Se devi verificare il comportamento di uno script specifico, lancia direttamente:

pwsh -File C:	emp	est.ps1

Se lo script parte e restituisce l’output atteso, la compatibilità di base c’è. Se fallisce, il problema è spesso nei moduli, nelle policy di esecuzione o in cmdlet non compatibili.

Verificare la policy di esecuzione

Dopo l’installazione, non dare per scontato che tutti gli script partano. La policy di esecuzione può bloccare file locali o scaricati da Internet.

Controlla la policy corrente con:

Get-ExecutionPolicy -List

Osserva in particolare il contesto CurrentUser e LocalMachine. Se vedi restrizioni troppo aggressive rispetto al tuo caso d’uso, valuta un cambio mirato e reversibile, non una modifica globale fatta alla cieca.

Per esempio, se devi abilitare l’esecuzione di script firmati o locali solo per il tuo utente, la modifica va ragionata in base al modello di sicurezza della macchina. In ambiente aziendale, meglio seguire la policy del team IT e non aggirarla.

Importare moduli e testare compatibilità

Uno dei motivi per cui conviene fare il passaggio con cautela è la compatibilità dei moduli. Non tutti i moduli scritti per Windows PowerShell 5.1 funzionano in PowerShell 7 senza modifiche.

Puoi testare un modulo con:

Get-Module -ListAvailable

Se il modulo c’è, prova a importarlo:

Import-Module NomeModulo

Se l’import fallisce, il messaggio di errore di solito indica il motivo: dipendenze mancanti, architettura non compatibile, oppure modulo pensato solo per la shell classica. In quel caso la soluzione non è “forzare” l’installazione, ma verificare se esiste una versione aggiornata del modulo o se va mantenuta la 5.1 per quel flusso.

Usare PowerShell 7 insieme alla versione classica

La convivenza è normale e spesso è la soluzione migliore. Tieni PowerShell 7 per le attività quotidiane e conserva Windows PowerShell 5.1 per gli script legacy.

Per distinguere chiaramente i due ambienti, puoi usare queste regole pratiche:

  • Usa pwsh per la shell moderna.
  • Usa powershell.exe per la vecchia.
  • Nei collegamenti e negli script, indica sempre il binario corretto.

Questo riduce gli errori tipici da migrazione, soprattutto quando ci sono task schedulati, script di amministrazione o automazioni che fanno affidamento su moduli storici.

Disinstallare o aggiornare senza rompere l’ambiente

Se devi aggiornare, la logica è semplice: prima verifica la versione installata, poi applica il nuovo pacchetto, poi controlla che i profili e gli script partano ancora. Non dare per scontato che un aggiornamento maggiore sia trasparente per ogni modulo.

Per controllare la versione attiva:

pwsh --version

Se il tuo obiettivo è eliminare solo la versione nuova, puoi farlo dal pannello App installate di Windows 11 o dal metodo con cui l’hai installata. La disinstallazione non tocca Windows PowerShell 5.1, quindi il rollback è in genere semplice.

Questa è una delle ragioni per cui il passaggio è abbastanza sicuro: il blast radius è basso, perché la shell moderna vive accanto a quella vecchia e non la sostituisce.

Checklist rapida di verifica

  1. Esegui pwsh --version e conferma che la major sia 7.
  2. Apri pwsh e controlla $PSVersionTable.PSVersion.
  3. Verifica i moduli principali con Import-Module.
  4. Se usi Windows Terminal, imposta il profilo predefinito corretto.
  5. Testa uno script reale con pwsh -File prima di migrare l’uso quotidiano.

Se uno di questi punti fallisce, il problema va isolato prima di fare altre modifiche: versione sbagliata, policy di esecuzione, modulo incompatibile o profilo Terminale non aggiornato.

Quando conviene fermarsi e non fare la migrazione completa

Se gestisci script critici, automazioni legacy o moduli proprietari non certificati per PowerShell 7, il passaggio va fatto per gradi. Installa la nuova versione, ma mantieni la 5.1 come fallback fino a quando non hai validato tutti i flussi.

In pratica, il criterio è semplice: se il tuo ambiente dipende da uno o più moduli non compatibili, PowerShell 7 va introdotto come seconda shell, non come sostituto immediato.

Se invece lavori su script nuovi, automazioni moderne o ambienti misti, PowerShell 7 è la scelta giusta per default. Ti dà un ambiente più attuale, più coerente e più facile da mantenere nel tempo.

Assunzione: la macchina è Windows 11 aggiornata, con privilegi sufficienti per installare app o pacchetti, e non ci sono policy aziendali che bloccano Winget, Store o MSI.

Comandi utili da tenere a portata di mano

winget install --id Microsoft.PowerShell --source winget
pwsh --version
$PSVersionTable
Get-ExecutionPolicy -List
Import-Module NomeModulo

Con questi comandi copri installazione, verifica, compatibilità e diagnostica di base senza toccare configurazioni inutili.

In sintesi operativa

Se vuoi il nuovo PowerShell su Windows 11, installa PowerShell 7, verifica con pwsh --version, testa i moduli che ti servono e solo dopo imposta il profilo predefinito nel Terminale di Windows. È il percorso più pulito, con impatto minimo e rollback semplice.

Se hai uno scenario specifico — per esempio installazione aziendale, migrazione di script legacy o configurazione del Terminale — conviene standardizzare il metodo di installazione e il profilo da usare, così eviti comportamenti diversi da macchina a macchina.