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 --versionSe risponde con una versione, puoi procedere. Per installare PowerShell 7:
winget install --id Microsoft.PowerShell --source wingetIl 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 --versionIl 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:
pwshSe il prompt si apre e il comando seguente restituisce la versione prevista, sei a posto:
$PSVersionTable.PSVersionNel 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 -NoProfileSe 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:
- Dal menu Start, cerca PowerShell 7 o pwsh.
- Da Terminale Windows, apri un nuovo profilo o una scheda PowerShell.
- Da Esegui con Win + R, digita
pwsh. - Da una console già aperta, richiama direttamente il comando
pwsh.
Se vuoi sapere con certezza quale shell stai usando, esegui:
$PSVersionTableSe 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.ps1Se 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 -ListOsserva 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 -ListAvailableSe il modulo c’è, prova a importarlo:
Import-Module NomeModuloSe 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
pwshper la shell moderna. - Usa
powershell.exeper 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 --versionSe 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
- Esegui
pwsh --versione conferma che la major sia 7. - Apri
pwshe controlla$PSVersionTable.PSVersion. - Verifica i moduli principali con
Import-Module. - Se usi Windows Terminal, imposta il profilo predefinito corretto.
- Testa uno script reale con
pwsh -Fileprima 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 wingetpwsh --version$PSVersionTableGet-ExecutionPolicy -ListImport-Module NomeModuloCon 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.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.