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
- Miglioramento dell'argomento del comando nativo che passa il supporto
- Supporto dei colori ANSI FileInfo
- Miglioramenti dei completamenti delle schede
- 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
- Diverse modifiche di rilievo per migliorare l'usabilità
Per un elenco completo delle modifiche, vedere Log delle modifiche nel repository GitHub.
Aggiornamenti dell'installazione
Vedere 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 aggiornate 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) - Opta per l'aggiornamento tramite Microsoft Update o WSUS0
- non acconsentire esplicitamente all'aggiornamento tramite Microsoft Update o WSUS
ENABLE_MU
1
(impostazione predefinita) - Acconsente esplicitamente all'uso del Aggiornamenti automatico o di Windows Update0
- non acconsentire esplicitamente all'uso di Microsoft Update il Aggiornamenti automatico o Windows Update
Funzionalità sperimentali
Le funzionalità sperimentali seguenti sono ora funzionalità mainstream in questa versione:
Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck
- vedere Import-PowerShellDataFileMicrosoft.PowerShell.Utility.PSManageBreakpointsInRunspace
PSAnsiRendering
- vedere about_ANSI_TerminalsPSAnsiProgress
- vedere about_ANSI_TerminalsPSCultureInvariantReplaceOperator
PSNotApplyErrorActionToStderr
PSUnixFileStat
In questa versione è stata aggiunta la funzionalità sperimentale seguente:
PSNativeCommandArgumentPassing : quando questa funzionalità sperimentale è abilitata in PowerShell usa la proprietà ArgumentList dell'oggetto StartProcessInfo anziché il meccanismo corrente di ricostruzione di una stringa quando si richiama un eseguibile nativo. Questa funzionalità aggiunge una nuova variabile
$PSNativeCommandArgumentPassing
automatica che consente di selezionare il comportamento in fase di esecuzione.PSAnsiRenderingFileInfo : consente la personalizzazione dei colori 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 Uso delle funzionalità sperimentali.
Miglioramenti dei completamenti delle schede
PowerShell 7.2 include diversi miglioramenti al completamento tramite tabulazione. Queste modifiche includono i bugfix e migliorano l'usabilità.
- Correzione del completamento della scheda per gli argomenti di informazioni non localizzate* (#15265) (grazie) @MartinGC94)
- Correzione dello splatting trattato come parametro posizionale nei completamenti (#14623) (grazie) @MartinGC94)
- Aggiungere completamenti per le parole chiave della Guida basate su commenti (#15337) (grazie) @MartinGC94)
- Aggiunta del completamento per istruzioni Requires (#14596) (grazie) @MartinGC94)
- Aggiunta del completamento della scheda per il parametro View dei cmdlet Format-* (#14513) (grazie) @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
la funzione per caricare gli assembly in memoria da un host powerShell nativo attivando il codice · Richiesta pull n. 14652
Modifiche e miglioramenti di rilievo
- PSDesiredStateConfiguration è stato rimosso dal pacchetto di PowerShell 7.2
- Rendere universali i pacchetti Dib e RPM di PowerShell Linux (#15109)
- Funzionalità
PSNativeCommandArgumentPassing
sperimentale: usare ArgumentList per la chiamata eseguibile nativa (#14692) - Assicurarsi che
-PipelineVariable
sia impostato per tutti gli output dei cmdlet di script (#12766) - Generare un avviso se
ConvertTo-Json
supera il valore -Depth (#13692) - Rimuovere l'alias D di -Directory switch CL-General #15171
- Migliorare il rilevamento dei tipi valore modificabili (#12495)
- Limitare
New-Object
la modalità NoLanguage con blocco (#14140) - Imponi la configurazione Di negazione di AppLocker prima della configurazione bypass dei criteri di esecuzione (#15035)
- Passare
FileSystemInfo.Target
da codeProperty a aliasProperty che punta aFileSystemInfo.LinkTarget
(#16165)