Novità di PowerShell 7.2
PowerShell 7.2 è la prossima versione di Long Term Servicing (LTS) basata su .NET 6.0.
PowerShell 7.2 include le funzionalità, gli aggiornamenti e le modifiche di rilievo seguenti.
- Nuovi pacchetti di programma di installazione universali per le distribuzioni Linux più supportate
- Supporto di Microsoft Update in Windows
- 2 nuove funzionalità sperimentali
- Migliorato il supporto per il passaggio degli argomenti dei comandi nativi
- Supporto dei colori ANSI FileInfo
- Miglioramenti del completamento delle tabulazioni
- PSReadLine 2.1 con IntelliSense predittivo
- 7 funzionalità sperimentali promosse a mainstream e 1 rimosse
- Separazione di DSC da PowerShell 7 per consentire miglioramenti futuri
- Sono stati apportati diversi cambiamenti significativi per migliorare l'usabilità
Per un elenco completo delle modifiche, vedere il registro delle modifiche nel repository GitHub.
Aggiornamenti dell'installazione
Controllare le istruzioni di installazione per il sistema operativo preferito:
PowerShell 7.2 supporta anche le versioni ARM64 di Windows e macOS e ARM32 e ARM64 di Debian e Ubuntu.
Per informazioni up-to-date sui sistemi operativi supportati e sul ciclo di vita del supporto, vedere ciclo di vita del supporto di PowerShell.
Nuovi pacchetti di installazione universale per le distribuzioni Linux
In precedenza sono stati creati pacchetti di installazione separati per ogni versione supportata di CentOS, RHEL, Debian e Ubuntu. Il pacchetto di installazione universale combina otto pacchetti diversi in uno, semplificando l'installazione in Linux. Il pacchetto universale installa le dipendenze necessarie per la distribuzione di destinazione e crea le modifiche specifiche della piattaforma per il funzionamento di PowerShell.
Supporto di Microsoft Update per Windows
PowerShell 7.2 aggiunge il supporto per Microsoft Update. Quando si abilita questa funzionalità, si otterranno gli aggiornamenti più recenti di PowerShell 7 nel flusso di gestione tradizionale di Windows Update (WU), indipendentemente dal fatto che si tratti di Windows Update for Business, WSUS, SCCM o la finestra di dialogo interattiva wu in Impostazioni.
Il pacchetto MSI di PowerShell 7.2 include le opzioni della riga di comando seguenti:
-
USE_MU
: questa proprietà ha due valori possibili:-
1
(impostazione predefinita): consente di acconsentire esplicitamente all'aggiornamento tramite Microsoft Update o WSUS -
0
: non acconsentire esplicitamente all'aggiornamento tramite Microsoft Update o WSUS
-
ENABLE_MU
-
1
(impostazione predefinita): consente di acconsentire esplicitamente all'uso di Microsoft Update per gli aggiornamenti automatici o Windows Update -
0
- non optare per l'uso di Microsoft Update, gli Aggiornamenti automatici o Windows Update
-
Funzionalità sperimentali
Le funzionalità sperimentali seguenti sono ora funzionalità mainstream in questa versione:
-
Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck
: consultare Import-PowerShellDataFile Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace
-
PSAnsiRendering
: vedere about_ANSI_Terminals -
PSAnsiProgress
- consultare about_ANSI_Terminals PSCultureInvariantReplaceOperator
PSNotApplyErrorActionToStderr
PSUnixFileStat
In questa versione è stata aggiunta la funzionalità sperimentale seguente:
PSNativeCommandArgumentPassing : quando questa funzionalità sperimentale è abilitata per PowerShell usa la proprietà ArgumentListdell'oggetto StartProcessInfo anziché il meccanismo corrente di ricostruzione di una stringa quando si richiama un eseguibile nativo. Questa funzionalità aggiunge una nuova variabile automatica$PSNativeCommandArgumentPassing
che consente di selezionare il comportamento in fase di esecuzione.PSAnsiRenderingFileInfo : consente la personalizzazione del colore ANSI delle informazioni sui file.
PSLoadAssemblyFromNativeCode: espone un'API per consentire il caricamento di assembly dal codice nativo.
Per altre informazioni sulle funzionalità sperimentali, vedere Using Experimental Features.
Miglioramenti nel completamento automatico delle schede
PowerShell 7.2 include diversi miglioramenti al completamento tramite tab. Queste modifiche includono i bugfix e migliorano l'usabilità.
- Correggere il completamento della tabulazione per argomenti about* non localizzati (#15265) (grazie @MartinGC94))
- Correzione del trattamento dello splatting come parametro posizionale nei completamenti (#14623) (grazie @MartinGC94))
- Aggiungi completamenti per le parole chiave della Guida basata su commenti (#15337) (grazie @MartinGC94))
- Aggiungere il completamento per istruzioni Requires (#14596) (grazie @MartinGC94))
- Aggiunto il completamento automatico per il parametro View dei cmdlet Format-* (#14513) (grazie a @iSazonov))
PSReadLine 2.1 Predictive IntelliSense
PSReadLine 2.1 ha introdotto CommandPrediction
API che stabiliscono un framework per fornire stime per il completamento della riga di comando. L'API consente agli utenti di individuare, modificare ed eseguire comandi completi in base alle stime corrispondenti della cronologia dell'utente.
Per impostazione predefinita, IntelliSense predittivo è disabilitato. Per abilitare le stime, eseguire il comando seguente:
Set-PSReadLineOption -PredictionSource History
Separazione di DSC da PowerShell 7 per consentire miglioramenti futuri
Il modulo PSDesiredStateConfiguration è stato rimosso dal pacchetto PowerShell 7.2 ed è ora pubblicato in PowerShell Gallery. In questo modo il modulo PSDesiredStateConfiguration può essere sviluppato indipendentemente da PowerShell e gli utenti possono combinare e associare versioni di PowerShell e PSDesiredStateConfiguration per il proprio ambiente. Per installare PSDesiredStateConfiguration 2.0.5 da PowerShell Gallery:
Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99
Importante
Assicurarsi di includere il parametro MaximumVersion o di installare la versione 3 (o successiva) di PSDesireStateConfiguration che contiene differenze significative.
Aggiornamenti del motore
- Aggiungere
LoadAssemblyFromNativeMemory
funzione per caricare assembly in memoria da un host di PowerShell nativo attivando la codifica · Richiesta pull n. 14652
Cambiamenti significativi e miglioramenti
- PSDesiredStateConfiguration è stato rimosso dal pacchetto di PowerShell 7.2
- Rendere universali i pacchetti Dib e RPM di PowerShell Linux (#15109)
- Funzionalità sperimentale
PSNativeCommandArgumentPassing
: usare ArgumentList per la chiamata eseguibile nativa (#14692) - Assicurarsi che
-PipelineVariable
sia impostato per tutti gli output dei cmdlet di script (#12766) - Genera avviso se
ConvertTo-Json
supera -Depth valore (#13692) - Rimuovere l'alias D dell'opzione -Directory CL-General #15171
- Migliorare il rilevamento dei tipi valore modificabili (#12495)
- Limitare
nella modalità NoLanguage di durante il blocco (#14140) - Imponi la configurazione di negazione di AppLocker prima della configurazione dei criteri di esecuzione del bypass (#15035)
- Modificare
da un CodeProperty a un AliasProperty che punta a (#16165)