Vuoi la “nuova PowerShell” su Windows 11? In questa guida pratica trovi dove scaricarla in modo sicuro, come installarla con MSI, winget o Microsoft Store, come verificare la versione e risolvere i problemi comuni. Indicazioni valide sia per uso personale sia in ambienti aziendali.
Panoramica rapida
PowerShell 7 è la versione cross‑platform e moderna della shell Microsoft (successore di Windows PowerShell 5.1). Su Windows 11 può convivere senza conflitti con la 5.1 ed è consigliata per nuovi script e automazioni.
- Versioni consigliate: la linea 7.4.x è LTS (supporto lungo); la linea 7.5.x è l’ultima Stable con feature più recenti. Il processo di installazione è identico: scegli la versione desiderata oppure usa
winget upgrade. - Architetture: Windows 11 è x64 o ARM64. Scarica l’MSI coerente (
-win-x64.msio-win-arm64.msi). - Coesistenza: PowerShell 7 non rimuove la 5.1. Puoi usare entrambe in parallelo.
Download diretto via MSI (metodo consigliato)
Per la maggior parte degli utenti il modo più semplice e controllato è scaricare il pacchetto MSI ufficiale della release corrente.
- Apri la pagina delle release ufficiali di PowerShell su GitHub (sezione “Assets”).
- Scarica il file MSI appropriato, ad esempio:
PowerShell‑7.4.5‑win‑x64.msi(LTS, 64‑bit Intel/AMD)PowerShell‑7.5.x‑win‑x64.msi(Stable più recente, 64‑bit Intel/AMD)PowerShell‑7.5.x‑win‑arm64.msi(Stable più recente, ARM64)
x” con l’ultima micro‑versione disponibile. - Esegui il file MSI, segui la procedura guidata e lascia selezionate le opzioni predefinite (in genere: aggiunta a PATH, integrazione con Windows Terminal e con
Open herenel menu contestuale). - Al termine, avvia da Start ▸ PowerShell 7 oppure esegui
pwsh.exe.
Installazione silente/aziendale (MSI)
Per distribuire in modo non presidiato (Intune, ConfigMgr, GPO, script), usa msiexec con proprietà MSI comuni:
# Esempio: installazione silente x64, aggiunge PATH e abilita PSRemoting
msiexec /i "PowerShell-7.5.x-win-x64.msi" /qn ADDPATH=1 ENABLEPSREMOTING=1
Disinstallazione silente
msiexec /x "{ProductCode}" /qn
Proprietà utili (dipendono dalla release MSI): ADDPATH, ENABLEPSREMOTING, REGISTERMANIFEST, USEMU. Verifica sempre il file .msi corrente per l’elenco aggiornato.Verifica integrità (facoltativa ma consigliata)
In ambienti sensibili (o se scarichi su rete non fidata), controlla l’hash e la firma:
# Calcola SHA-256 del file scaricato
Get-FileHash .\PowerShell-7.5.x-win-x64.msi -Algorithm SHA256
Controlla la firma Authenticode
Get-AuthenticodeSignature .\PowerShell-7.5.x-win-x64.msi | Format-List
Alternative di installazione/aggiornamento
winget (integrato in Windows 11)
winget è lo strumento ufficiale per gestire applicazioni via riga di comando. È semplice e ideale per rimanere aggiornati.
# Prima installazione
winget install --id Microsoft.PowerShell -e
Aggiornamento all’ultima versione stabile
winget upgrade --id Microsoft.PowerShell -e
Facoltativo: installazione utente (senza privilegi admin)
winget install --id Microsoft.PowerShell -e --scope user
Consigli:
- Esegui
winget source updatese non trovi il pacchetto. - Se gestisci un parco macchine: esporta un manifesto con
winget exporte applicalo conwinget import. - Per la Preview: usa l’ID
Microsoft.PowerShell.Preview.
Microsoft Store
Apri Microsoft Store, cerca PowerShell, quindi fai clic su Ottieni/Installa. Pro:
- Aggiornamenti automatici gestiti dallo Store.
- Installazione user‑scope comoda su PC non amministrati.
Contro: percorso binari diverso (pacchetto MSIX), alcune personalizzazioni di sistema sono limitate rispetto all’MSI.
Metodi avanzati
- MSIX: utile per isolare l’app. Richiede modalità sideloading abilitata per pacchetti esterni allo Store.
- ZIP portabile: scompatta e usa
pwsh.exesenza installazione. Ideale per ambienti isolati/offline; aggiungi manualmente il percorso alla variabile PATH utente. - Side‑by‑side con 5.1: è il comportamento predefinito; non serve alcuna opzione speciale.
- Firma e checksum: confronta sempre l’hash pubblicato con
Get-FileHash.
Tabella di confronto dei metodi
| Metodo | Quando usarlo | Aggiornamenti | Note |
|---|---|---|---|
| MSI (download diretto) | Installazioni standard e aziendali; massimo controllo | Manuale o via strumenti (Intune/ConfigMgr) | Percorso classico: C:\Program Files\PowerShell\7\pwsh.exe |
| winget | Installazione rapida e scriptabile | winget upgrade | Perfetto per automatizzare update periodici |
| Microsoft Store | PC personali o non amministrati | Automatici tramite Store | Percorso MSIX; integrazione diversa del PATH |
| MSIX (manuale) | Isolamento applicativo | Manuale o via MDM | Richiede sideloading attivato |
| ZIP portabile | Offline, sandbox, testing | Nessuno (estrai nuova versione) | PATH e integrazioni da impostare a mano |
Verifica della versione
Dopo l’installazione apri una nuova finestra PowerShell e verifica:
$PSVersionTable.PSVersion
$PSVersionTable.PSEdition
$PSVersionTable.OS
Output atteso (esempio): Major=7 Minor=5 Build=* e PSEdition=Core. Se vedi 5.1 e Desktop sei nella Windows PowerShell storica: avvia pwsh oppure seleziona “PowerShell 7” dal menu Start.
Buone pratiche e consigli utili
Controllo dell’architettura
[System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture
Ritorna X64 o Arm64</code></pre>
<h3>Sicurezza</h3>
<ul>
<li><strong>Hash del pacchetto</strong>: usa <code>Get-FileHash -Algorithm SHA256</code> e confronta con quello pubblicato.</li>
<li><strong>Firma digitale</strong>: verifica con <code>Get-AuthenticodeSignature</code>.</li>
<li><strong>Execution Policy</strong>: per script locali sicuri, imposta:
<pre><code class="language-powershell">Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned</code></pre>
<p>Evita <code>Unrestricted</code> o <code>Bypass</code> se non indispensabili.</p>
</li>
<li><strong>Aggiornamenti</strong>: programma controlli regolari (mensili o trimestrali). Con <code>winget</code> puoi automatizzare.</li>
</ul>
<details>
<summary><strong>Automatizza l’aggiornamento con winget</strong></summary>
<pre><code class="language-powershell"># Esegue l'upgrade di PowerShell (e di altre app) settimanalmente
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument '-NoProfile -WindowStyle Hidden -Command "winget upgrade --all --silent"'
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At 9:00
Register-ScheduledTask -TaskName "WingetAutoUpgrade" -Action $action -Trigger $trigger -Description "Aggiornamenti automatici con winget" -RunLevel Highest
Convivenza con PowerShell 5.1
- La 5.1 resta disponibile in
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe. - PowerShell 7 è in
C:\Program Files\PowerShell\7\pwsh.exe(o percorso MSIX se dallo Store). - In Windows Terminal, imposta PowerShell 7 come shell predefinita: Impostazioni ▸ Predefinito ▸ PowerShell.
Risoluzione dei problemi comuni
Il comando pwsh non viene riconosciuto
- Chiudi e riapri la sessione (necessario dopo la modifica del PATH).
- Controlla che il PATH includa
C:\Program Files\PowerShell\7\. - Se hai installato dallo Store, avvia da Start o crea un collegamento al percorso MSIX esposto dal pacchetto.
Non riesco a installare l’MSI
- Esegui come amministratore.
- Verifica che non ci siano criteri aziendali che bloccano MSI non approvati.
- Se SmartScreen segnala il file come non comune, verifica hash e firma; poi sblocca con
Unblock-File .\file.msi.
Script bloccati o moduli non compatibili
- Sblocca singoli file scaricati:
Unblock-File .\script.ps1. - Per moduli nati per 5.1, valuta WindowsCompatibility (esecuzione trasparente in 5.1 quando necessario).
Problemi con proxy o repository
- Configura il proxy di sistema o variabili
HTTPPROXY/HTTPSPROXY. - Per i feed NuGet, assicurati che TLS moderno sia abilitato (PowerShell 7 usa TLS 1.2/1.3 di default).
Errore aggiornando via winget
- Esegui
winget source updatee riprova. - Forza la risoluzione ID esatta con
-e(exact). - Se un processo
pwsh.exeè in esecuzione, chiudilo prima di aggiornare.
Esempi pratici post‑installazione
Controllo veloce dell’ambiente
# Versione e piattaforma
$PSVersionTable | Format-List
Informazioni macchina
Get-ComputerInfo | Select-Object OsName, OsVersion, OsBuildNumber | Format-List
Abilitare PowerShell Remoting (opzionale)
# Esegui come amministratore se vuoi gestire il PC da remoto
Enable-PSRemoting -Force
Impostare PowerShell 7 come shell predefinita in Windows Terminal
- Apri Windows Terminal ▸ Impostazioni.
- Voce Predefinito ▸ seleziona PowerShell (icona blu scuro con “7”).
- Salva. Le nuove schede si apriranno in PowerShell 7.
FAQ
Devo disinstallare Windows PowerShell 5.1? No. Tienila per compatibilità con strumenti legacy; usa PowerShell 7 per nuovi script.
<dt>Serve l’accesso amministratore?</dt>
<dd>Per MSI sì (installazione a livello di sistema). Con Microsoft Store o <code>winget --scope user</code> puoi installare per l’utente corrente.</dd>
<dt>Dove si trova <code>pwsh.exe</code>?</dt>
<dd>MSI: <code>C:\Program Files\PowerShell\7\pwsh.exe</code>. ZIP: cartella dove hai estratto. Store/MSIX: percorso gestito dal pacchetto (avvio da Start).</dd>
<dt>Come passo dalla LTS alla Stable (o viceversa)?</dt>
<dd>Installa semplicemente la versione desiderata (7.4.x LTS o 7.5.x Stable). <code>winget upgrade</code> segue il canale di provenienza installato.</dd>
<dt>Posso avere Stable e Preview insieme?</dt>
<dd>Sì. Installa anche <strong>PowerShell Preview</strong> (<code>Microsoft.PowerShell.Preview</code>). Avrai due voci separate.</dd>
<dt>Come disinstallo?</dt>
<dd><em>Impostazioni ▸ App ▸ App installate</em> (MSI/Store) oppure <code>winget uninstall --id Microsoft.PowerShell -e</code>.</dd>
Checklist rapida
- Scaricato l’MSI corretto (x64/ARM64)?
- Installazione completata senza errori?
pwshapre la 7.x?$PSVersionTable.PSVersionmostra 7.4.x (LTS) o 7.5.x (Stable)?- Eventuale Execution Policy impostata correttamente?
- Aggiornamenti pianificati (manuali o via
winget)?
Conclusioni
Per ottenere “la nuova PowerShell” su Windows 11 basta scegliere il canale (LTS 7.4.x o Stable 7.5.x) e il metodo più adatto: MSI per controllo pieno, winget per velocità e automazione, Microsoft Store per semplicità. La convivenza con la 5.1 è nativa: puoi modernizzare i tuoi flussi senza rinunciare alla compatibilità. Mantieni la shell aggiornata, verifica la versione con $PSVersionTable e applica le buone pratiche di sicurezza per un ambiente affidabile e produttivo.
Appendice: guida passo‑passo ultra‑breve
- Scarica l’MSI di PowerShell 7 (x64 o ARM64) dalla pagina delle release ufficiali.
- Installa con doppio clic e opzioni predefinite.
- Apri Start ▸ PowerShell 7 (o esegui
pwsh). - Verifica con
$PSVersionTable.PSVersion. - Aggiorna in futuro con
winget upgrade --id Microsoft.PowerShell -e.
