Installazione di PowerShell in Windows

Esistono diversi modi per installare PowerShell in Windows. Ogni metodo di installazione è progettato per supportare diversi scenari e flussi di lavoro. Scegliere il metodo più adatto alle proprie esigenze.

  • Winget - Modo consigliato per installare PowerShell nei client Windows
  • Pacchetto MSI - Scelta migliore per i server Windows e gli scenari di distribuzione aziendali
  • Pacchetto ZIP - Modo più semplice per "caricamento lato" o installare più versioni
    • Usare questo metodo per i sistemi basati su Windows Nano Server, Windows IoT e Arm
  • Strumento globale .NET : una scelta ottimale per gli sviluppatori .NET che installano e usano altri strumenti globali
  • pacchetto Microsoft Store - Un modo semplice per installare per utenti casuali di PowerShell, ma presenta limitazioni

Nota

I comandi di installazione in questo articolo sono per la versione stabile più recente di PowerShell. Per installare una versione diversa di PowerShell, modificare il comando in modo che corrisponda alla versione necessaria. I collegamenti seguenti consentono di accedere alla pagina della versione per ogni versione nel repository di PowerShell in GitHub.

I collegamenti di download per ogni pacchetto sono disponibili nella sezione Asset della pagina Versione. È possibile che la sezione Assets sia compressa, quindi potrebbe essere necessario fare clic per espanderla.

Winget, il Gestione pacchetti Windows, è uno strumento da riga di comando che consente agli utenti di individuare, installare, aggiornare, rimuovere e configurare applicazioni nei computer client Windows. Questo strumento è l'interfaccia client per il servizio Gestione pacchetti Windows. Lo winget strumento da riga di comando viene fornito in bundle con Windows 11 e versioni moderne di Windows 10 per impostazione predefinita come programma di installazione app.

Nota

Per un elenco di requisiti di sistema e istruzioni di installazione, vedere la documentazione winget . Winget attualmente non viene eseguito nei server Windows.

I comandi seguenti possono essere usati per installare PowerShell tramite i pacchetti winget pubblicati:

Cercare la versione più recente di PowerShell

winget search Microsoft.PowerShell
Name               Id                           Version   Source
-----------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.3.0.0   winget
PowerShell Preview Microsoft.PowerShell.Preview 7.3.101.0 winget

Installare PowerShell o PowerShell Preview usando il id parametro

winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell.Preview --source winget

Installazione del pacchetto MSI

Per installare PowerShell in Windows, usare i collegamenti seguenti per scaricare il pacchetto di installazione da GitHub.

Dopo aver scaricato, fare doppio clic sul file del programma di installazione e seguire le istruzioni.

Il programma di installazione crea un collegamento nel menu Start di Windows.

  • Per impostazione predefinita, il pacchetto viene installato in $env:ProgramFiles\PowerShell\<version>
  • È possibile avviare PowerShell tramite il menu Start o $env:ProgramFiles\PowerShell\<version>\pwsh.exe

Nota

PowerShell 7.3 installa in una nuova directory ed esegue side-by-side con Windows PowerShell 5.1. PowerShell 7.3 è un aggiornamento sul posto che sostituisce PowerShell 7.0 e versioni inferiori.

  • PowerShell 7.3 è installato in $env:ProgramFiles\PowerShell\7
  • La cartella $env:ProgramFiles\PowerShell\7 viene aggiunta a $env:PATH
  • Le cartelle per le versioni rilasciate in precedenza vengono eliminate

Se è necessario eseguire PowerShell 7.3 side-by-side con altre versioni, usare il metodo di installazione ZIP per installare l'altra versione in una cartella diversa.

Supporto per Microsoft aggiornamento in PowerShell 7.2 e versioni successive

PowerShell 7.2 e versioni successive ha il supporto per Microsoft Update. Quando si abilita questa funzionalità, si otterranno gli aggiornamenti più recenti di PowerShell 7 nel flusso di gestione tradizionale Microsoft Update (MU), indipendentemente dal fatto che si tratti di Windows Update for Business, WSUS, Microsoft Endpoint Configuration Manager o della finestra di dialogo MU interattiva in Impostazioni.

Il pacchetto MSI di PowerShell 7.3 include le opzioni della riga di comando seguenti:

  • USE_MU - Questa proprietà ha due valori possibili:
    • 1(impostazione predefinita) - Opta per l'aggiornamento tramite Microsoft Update, WSUS o Configuration Manager
    • 0- Non acconsentire esplicitamente all'aggiornamento tramite Microsoft Update, WSUS o Configuration Manager
  • ENABLE_MU
    • 1(impostazione predefinita) - Opts into using Microsoft Update for Automatic Aggiornamenti
    • 0- Non acconsentire esplicitamente all'uso di Microsoft Update

Nota

L'abilitazione degli aggiornamenti potrebbe essere stata impostata in un'installazione o in una configurazione manuale precedente. L'uso ENABLE_MU=0 non rimuove le impostazioni esistenti. Questa impostazione può inoltre essere sovrarulata dalle impostazioni Criteri di gruppo controllate dall'amministratore.

Per altre informazioni, vedere le domande frequenti sull'aggiornamento di PowerShell Microsoft.

Installare il pacchetto MSI dalla riga di comando

I pacchetti MSI possono essere installati dalla riga di comando per consentire agli amministratori di distribuire i pacchetti senza interazione dell'utente. Il pacchetto MSI include le proprietà seguenti per controllare le opzioni di installazione:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL - Questa proprietà controlla l'opzione per aggiungere l'elemento Open PowerShell al menu di scelta rapida in Esplora risorse.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL - Questa proprietà controlla l'opzione per aggiungere l'elemento Run with PowerShell al menu di scelta rapida in Esplora risorse.
  • ENABLE_PSREMOTING - Questa proprietà controlla l'opzione per abilitare la comunicazione remota di PowerShell durante l'installazione.
  • REGISTER_MANIFEST - Questa proprietà controlla l'opzione per la registrazione del manifesto registrazione eventi di Windows.
  • ADD_PATH - Questa proprietà controlla l'opzione per l'aggiunta di PowerShell alla variabile di ambiente percorso di Windows.

L'esempio seguente illustra come installare PowerShell in modo invisibile all'utente con tutte le opzioni di installazione abilitate.

msiexec.exe /package PowerShell-7.3.0-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1 USE_MU=1 ENABLE_MU=1 ADD_PATH=1

Per un elenco completo delle opzioni della riga di comando per Msiexec.exe, vedere Opzioni della riga di comando.

Installazione del pacchetto ZIP

Sono disponibili archivi ZIP di file binari di PowerShell per abilitare scenari di distribuzione avanzati. Scaricare uno degli archivi ZIP seguenti dalla pagina di rilascio corrente .

A seconda della modalità di download del file, potrebbe essere necessario sbloccare il file con il cmdlet Unblock-File. Decomprimere il contenuto nella posizione preferita ed eseguire pwsh.exe da tale posizione. A differenza dell'installazione dei pacchetti MSI, l'installazione dell'archivio ZIP non verifica i prerequisiti. Per il corretto funzionamento della comunicazione remota su WSMan, verificare che siano soddisfatti i prerequisiti.

Usare questo metodo per installare la versione di PowerShell basata su ARM in computer come Microsoft Surface Pro X. Per ottenere i risultati ottimali, installare PowerShell nella cartella $env:ProgramFiles\PowerShell\7.

Installare come strumento globale .NET

Se è già installato .NET Core SDK , è possibile installare PowerShell come strumento globale .NET.

dotnet tool install --global PowerShell

Il programma di installazione dello strumento DotNet aggiunge $HOME\.dotnet\tools alla variabile di ambiente $env:PATH. La shell attualmente in esecuzione non dispone tuttavia del parametro $env:PATH aggiornato. È possibile avviare PowerShell da una nuova shell digitando pwsh.

Installazione da Microsoft Store

PowerShell 7.3 può essere installato dall'Microsoft Store. È possibile trovare la versione di PowerShell nel sito Microsoft Store o nell'applicazione Store in Windows.

Vantaggi del pacchetto di Microsoft Store:

  • Aggiornamenti automatici integrati in Windows
  • Si integra con altri meccanismi di distribuzione software come Intune e Configuration Manager
  • Può essere installato nei sistemi Windows usando processori x86, x64 o Arm64

Limitazioni note

Per impostazione predefinita, i pacchetti di Windows Store vengono eseguiti in una sandbox dell'applicazione che virtualizza l'accesso a alcuni percorsi del file system e del Registro di sistema. Le modifiche apportate ai percorsi del file e del Registro di sistema virtualizzati non vengono mantenute all'esterno della sandbox dell'applicazione.

Questa sandbox blocca tutte le modifiche apportate alla cartella radice dell'applicazione. Non è possibile modificare le impostazioni di configurazione a livello di sistema archiviate in $PSHOME, inclusa la configurazione WSMAN. In questo modo si impedisce alle sessioni remote di connettersi alle installazioni di PowerShell basate su Store. Sono supportate le configurazioni a livello di utente e la comunicazione remota SSH.

I comandi seguenti devono scrivere in $PSHOME. Questi comandi non sono supportati in un'istanza di Microsoft Store di PowerShell.

  • Register-PSSessionConfiguration
  • Update-Help -Scope AllUsers
  • Enable-ExperimentalFeature -Scope AllUsers
  • Set-ExecutionPolicy -Scope LocalMachine

Per altre informazioni, vedere Informazioni sull'esecuzione in Windows di app desktop in pacchetto.

Modifiche per PowerShell 7.2

A partire da PowerShell 7.2, il pacchetto PowerShell è ora esente dalla virtualizzazione di file e registro. Le modifiche apportate ai percorsi del file e del Registro di sistema virtualizzati ora vengono mantenute all'esterno della sandbox dell'applicazione. Tuttavia, le modifiche apportate alla cartella radice dell'applicazione sono ancora bloccate.

Importante

È necessario essere in esecuzione in Windows build 1903 o versione successiva per consentire il funzionamento di questa esenzione.

Installazione di una versione di anteprima

Le versioni di anteprima di PowerShell 7 vengono installate in $env:ProgramFiles\PowerShell\7-preview modo che possano essere eseguite side-by-side con versioni non di anteprima di PowerShell. PowerShell 7.4 sarà la prossima versione di anteprima.

Aggiornamento di un'installazione esistente

Per ottenere i risultati ottimali durante l'aggiornamento, è necessario usare lo stesso metodo di installazione usato al momento dell'installazione di PowerShell. Ciascun metodo di installazione installa PowerShell in un percorso diverso. Se non si è certi di come sia stato installato PowerShell, è possibile confrontare il percorso installato con le informazioni del pacchetto in questo articolo. Se PowerShell è stato installato tramite il pacchetto MSI, tali informazioni sono visualizzate in Programmi e funzionalità nel Pannello di controllo.

Nota

Quando si esegue l'aggiornamento, PowerShell non esegue l'aggiornamento da una versione LTS a una versione non LTS. Esegue solo l'aggiornamento alla versione più recente di LTS, ad esempio dalla versione 7.2.3 alla versione 7.2.7. Per eseguire l'aggiornamento da una versione LTS a una versione stabile più recente o alla successiva LTS, è necessario installare la nuova versione con l'identità del servizio gestito per tale versione.

Quando la versione installata non è una versione LTS, PowerShell esegue l'aggiornamento alla versione stabile più recente.

Distribuzione in Windows 10 IoT Enterprise

Windows 10 IoT Enterprise include Windows PowerShell, che è possibile usare per distribuire PowerShell 7.

# Replace the placeholder information for the following variables:
$deviceip = '<device ip address'
$zipfile = 'PowerShell-7.3.0-win-arm64.zip'
$downloadfolder = 'u:\users\administrator\Downloads'  # The download location is local to the device.
    # There should be enough  space for the zip file and the unzipped contents.

# Create PowerShell session to target device
Set-Item -Path WSMan:\localhost\Client\TrustedHosts $deviceip
$S = New-PSSession -ComputerName $deviceIp -Credential Administrator
# Copy the ZIP package to the device
Copy-Item $zipfile -Destination $downloadfolder -ToSession $S

#Connect to the device and expand the archive
Enter-PSSession $S
Set-Location u:\users\administrator\Downloads
Expand-Archive .\PowerShell-7.3.0-win-arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.3.0-win-arm64
# Be sure to use the -PowerShellHome parameter otherwise it tries to create a new
# endpoint with Windows PowerShell 5.1
.\Install-PowerShellRemoting.ps1 -PowerShellHome .

Quando si configura La comunicazione remota di PowerShell, viene visualizzato un messaggio di errore e viene disconnesso dal dispositivo. PowerShell deve riavviare WinRM. È ora possibile connettersi all'endpoint di PowerShell 7 nel dispositivo.


# Be sure to use the -Configuration parameter. If you omit it, you connect to Windows PowerShell 5.1
Enter-PSSession -ComputerName $deviceIp -Credential Administrator -Configuration PowerShell.7.3.0

Distribuzione in Windows 10 IoT Core

Windows 10 IoT Core aggiunge Windows PowerShell se si include la funzionalità IOT_POWERSHELL, che è possibile usare per distribuire PowerShell 7. I passaggi definiti in precedenza per Windows 10 IoT Enterprise sono validi anche per IoT Core.

Per aggiungere la versione più recente di PowerShell nell'immagine di spedizione, usare il comando Import-PSCoreRelease per includere il pacchetto nell'area di lavoro e aggiungere la funzionalità OPENSRC_POWERSHELL all'immagine.

Nota

Per l'architettura ARM64, Windows PowerShell non viene aggiunto quando si include IOT_POWERSHELL. Quindi l'installazione basata su zip non funziona. È necessario usare il Import-PSCoreRelease comando per aggiungerlo nell'immagine.

Distribuzione in Nano Server

Queste istruzioni presuppongono che Nano Server sia un sistema operativo headless con una versione di PowerShell già in esecuzione. Per altre informazioni, vedere la documentazione Nano Server Image Builder.

È possibile distribuire i file binari di PowerShell usando due metodi diversi.

  1. Offline: montare il disco rigido virtuale di Nano Server e decomprimere il contenuto del file ZIP nella posizione prescelta all'interno dell'immagine montata.
  2. Online: trasferire il file ZIP in una sessione di PowerShell e decomprimerlo nella posizione prescelta.

In entrambi i casi, è necessario il pacchetto di versione ZIP di Windows x64. Eseguire i comandi all'interno di un'istanza "Administrator" di PowerShell.

Distribuzione offline di PowerShell

  1. Usare l'utilità ZIP preferita per decomprimere il pacchetto in una directory all'interno dell'immagine montata di Nano Server.
  2. Smontare l'immagine e riavviarla.
  3. Connettersi all'istanza predefinita di Windows PowerShell.
  4. Seguire le istruzioni per creare un endpoint di comunicazione remota usando un'altra tecnica di istanza.

Distribuzione online di PowerShell

Distribuire PowerShell in Nano Server seguendo questa procedura.

# Replace the placeholder information for the following variables:
$ipaddr = '<Nano Server IP address>'
$credential = Get-Credential # <An Administrator account on the system>
$zipfile = 'PowerShell-7.3.0-win-x64.zip'
# Connect to the built-in instance of Windows PowerShell
$session = New-PSSession -ComputerName $ipaddr -Credential $credential
# Copy the file to the Nano Server instance
Copy-Item $zipfile c:\ -ToSession $session
# Enter the interactive remote session
Enter-PSSession $session
# Extract the ZIP file
Expand-Archive -Path C:\PowerShell-7.3.0-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'

Perché la comunicazione remota si basi su WS-Management, seguire le istruzioni seguenti per creare un endpoint di comunicazione remota tramite un'altra tecnica di istanza.

Comunicazione remota di PowerShell

PowerShell supporta il protocollo di comunicazione remota di PowerShell (PSRP) tramite WS-Management e SSH. Per altre informazioni, vedere:

Per abilitare la comunicazione remota di PowerShell su WSMan nelle versioni precedenti di Windows, è necessario soddisfare i prerequisiti seguenti.

  • Installare il Windows Management Framework (WMF) 5.1 (se necessario). Per altre informazioni su WMF, vedere la panoramica su Windows Management Framework.
  • Installare Universal C Runtime nelle versioni di Windows precedenti a Windows 10. È disponibile tramite download diretto o Windows Update. Questo pacchetto è già installato nei sistemi con patch complete.

Versioni di Windows supportate

La tabella seguente è un elenco delle versioni di PowerShell e delle versioni di Windows in cui sono supportate. Queste versioni sono supportate fino a quando la versione di PowerShell non raggiunge la fine del supporto o la versione di Windows raggiunge la fine del supporto.

  • L'icona Supportato indica che la versione del sistema operativo o di PowerShell è ancora supportata
  • L'icona Out of Support indica che la versione di PowerShell non è più supportata in tale versione del sistema operativo
  • L'icona In Test indica che non è stato completato il test di PowerShell nel sistema operativo
  • L'icona Non supportata indica che la versione del sistema operativo o di PowerShell non è supportata
  • Quando sia la versione del sistema operativo che la versione di PowerShell hanno un'icona Supportata , tale combinazione è supportata
Windows 7.0 (LTS) 7.1 7.2 (LTS-current) 7.3
Supportato Windows Server 2016, 2019 o 2022 Supporto esaurito Supporto esaurito Supportato Supportato
Supportato Windows Server 2012 R2 Supporto esaurito Supporto esaurito Supportato Supportato
Supportati Windows Server Core (2012 R2 o versione successiva) Supporto esaurito Supporto esaurito Supportato Supportato
Supportati Windows Server Nano (1809 o versione successiva) Supporto esaurito Supporto esaurito Supportato Supportato
Non supportato Windows Server 2012 Supporto esaurito Supporto esaurito Non supportato Non supportato
Non supportato Windows Server 2008 R2 Supporto esaurito Supporto esaurito Non supportato Non supportato
Windows 11 supportate Supporto esaurito Supporto esaurito Supportato Supportato
Supportato Windows 10 1607+ Supporto esaurito Supporto esaurito Supportato Supportato
Windows 8.1 supportate Supporto esaurito Supporto esaurito Non supportato Non supportato

Nota

Il supporto per una versione specifica di Windows è determinato dai criteri del ciclo di vita supporto tecnico Microsoft. Per altre informazioni, vedere:

PowerShell è supportato in Windows per le architetture del processore seguenti.

Windows 7.2 (LTS-current) 7.3
Nano Server versione 1803+ x64 x64
Windows Server 2012 R2+ x64, x86 x64, x86
Windows Server Core 2012 R2+ x64, x86 x64, x86
client Windows 10 o 11 x64, x86, Arm64 x64, x86, Arm64
client Windows 8.1 x64, x86 x64, x86

È possibile controllare la versione in uso eseguendo winver.exe.

Supporto per l'installazione

Microsoft supporta i metodi di installazione in questo documento. Potrebbero essere disponibili altri metodi di installazione di terze parti da altre origini. Sebbene questi strumenti e metodi possano funzionare, Microsoft non è in grado di supportare tali metodi.