Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
PowerShell 7.6 include le funzionalità, gli aggiornamenti e le modifiche di rilievo seguenti. PowerShell 7.6.0 è basato sul runtime di .NET 10.0.5.
Per un elenco completo delle modifiche, vedere l'
Moduli aggiornati
PowerShell 7.6 include i moduli aggiornati seguenti:
- Microsoft.PowerShell.PSResourceGet v1.2.0
- PSReadLine v2.4.5
- Microsoft.PowerShell.ThreadJob v2.2.0
Modifiche di rilievo
-
Microsoft.PowerShell.ThreadJob sostituisce il modulo ThreadJob. Il
Start-ThreadJobcmdlet non è stato modificato, quindi non dovrebbe esserci un impatto a meno che non si disponga di script che usano il nome completo del modulo. Se usi il nome completo del modulo, aggiorna il nome aMicrosoft.PowerShell.ThreadJob\Start-ThreadJob. - Correzione
WildcardPattern.Escapedi escape dei backtick solitari correttamente (#25211) (grazie) @ArmaanMcleod!) - Convertire
-ChildPathil parametro instring[]perJoin-Pathil cmdlet (#24677) (grazie) @ArmaanMcleod!) - Rimuovere lo spazio finale dal nome dell'origine evento (#24192) (grazie @MartinGC94!)
Miglioramenti del completamento tramite tab
- Espandere correttamente gli alias nel relativo comando risolto effettivo (#26571) (grazie) @kilasuit!)
- Usare il parametro
HelpMessageper il tooltip nel completamento dei parametri (#25108) (Grazie @jborean93!)) - Rimuovere moduli duplicati dai risultati di completamento (#25538) (grazie) @MartinGC94!)
- Aggiungere il completamento per le variabili assegnate in
ArrayLiteralAsteParenExpressionAst(#25303) (grazie) @MartinGC94!) - Correzione del completamento della tabulazione per le variabili env/funzione (#25346) (grazie @jborean93!))
- Aggiornare l'inferenza del tipo di blocco Named e Statement per non considerare le istruzioni di assegnazione e gli operatori di incremento/decremento come parte dell'output (#21137) (grazie @MartinGC94!)
- Aggiungi il completatore di argomenti per
-PropertyType(New-ItemProperty) (grazie ) - Aggiungi il supporto di completamento con virgolette singole e doppie per il parametro
-NounperGet-Command(#24977) (grazie @ArmaanMcleod!) - Aggiungere il supporto delle virgolette singole/doppie di completamento del parametro
-PSEditionperGet-Module(#24971) (grazie @ArmaanMcleod!)) - Convertire InvalidCommandNameCharacters in AnalysisCache in
SearchValues<char>per una ricerca di caratteri più efficiente (#24880) (grazie @ArmaanMcleod!) - Convertire s_charactersRequiringQuotes in completatori in
SearchValues<char>per una ricerca dei caratteri più efficiente (#24879) (grazie @ArmaanMcleod!) ) - Aggiorna le chiamate di
IndexOfAny()con percorso/nome file non valido aSearchValues<char>per una ricerca di caratteri più efficiente ([#24896][24896]) (Grazie @ArmaanMcleod!)) - Sostituire
char[]array inCompletionRequiresQuotesconSearchValues<char>memorizzato nella cache (#24907) (grazie @ArmaanMcleod!) - Aggiungi la gestione delle virgolette in
Verb,StrictModeVersion,ScopeePropertyTypeargument completers con un singolo metodo helper (#24839) (grazie @ArmaanMcleod!)) - Correzione del completamento della condivisione con fornitore e spazi (#19440) (Grazie a @MartinGC94!))
- Migliorare l'inferenza del tipo di variabile (#19830) (grazie) @MartinGC94!)
- Aggiungi descrizioni comando per i completamenti della chiave hashtable (#17864) (grazie) @MartinGC94!)
- Correzione dell'inferenza dei tipi di parametri nelle funzioni classiche (#25172) (grazie) @MartinGC94!)
- Migliorare l'inferenza del tipo di assegnazione (#21143) (grazie) @MartinGC94!)
- Escludere le assegnazioni OutVariable all'interno della stessa
CommandAstdurante l'inferenza di variabili (#25224) (grazie) @MartinGC94!) - Correzione del completamento del parametro quando i requisiti dello script falliscono (#17687) (Grazie @MartinGC94!))
- Migliorare il completamento per gli argomenti degli attributi (#25129) (grazie) @MartinGC94!)
- Correzione del completamento basato sulla pseudobinding nei blocchi di script (#25122) (grazie) @MartinGC94!)
- Non completare i nomi dei comandi duplicati (#21113) (grazie) @MartinGC94!)
- Aggiungere il completamento per le variabili assegnate dal reindirizzamento dei comandi (#25104) (grazie) @MartinGC94!)
- Correggi il funzionamento di
TypeName.GetReflectionType()quando l'istanzaTypeNamerappresenta una definizione di tipo generico all'interno di unGenericTypeName(#24985) - Aggiorna il completamento dell'assegnazione di variabili/proprietà in modo che possa fare il fallback all'inferenza del tipo (#21134). Grazie @MartinGC94!)
- Gestire l'inferenza dei tipi per i comandi reindirizzati (#21131) (grazie @MartinGC94!))
- Usare l'approccio
Get-Helpper trovare i fileabout_*.help.txtcon impostazioni locali corrette per i completamenti (#24194) (grazie a @MartinGC94!)) - Correzione del completamento delle variabili assegnate all'interno dei cicli Do (#25076) (grazie) @MartinGC94!)
- Correzione del completamento dei percorsi del provider quando un percorso restituisce se stesso anziché i suoi figli (#24755) (grazie) @MartinGC94!)
- Abilitare il completamento delle variabili con ambito senza specificare l'ambito (#20340) (grazie) @MartinGC94!)
- Correzione del problema relativo ai risultati incompleti durante il completamento di percorsi con caratteri jolly nei provider esterni al file system (#24757) (grazie @MartinGC94!))
Miglioramenti dei cmdlet
- Aggiungere il fallback di localizzazione implicita a
Import-LocalizedData(#19896) (grazie) @chrisdent-de!) - Aggiungere
-Delimiteril parametro aGet-Clipboard(#26572) (grazie) @MartinGC94!) - Correzione Out-GridView sostituendo l'uso di BinaryFormatter obsoleto con implementazione personalizzata (#25497) (grazie) @mawosoft!)
- Migliorare la messaggistica dettagliata e del livello di registrazione di debug nei cmdlet Web (#25510) (grazie) @JustinGrote!)
- Migliorare il logging di debug delle richieste e delle risposte dei cmdlet web (#25479) (grazie) @JustinGrote!)
- Aggiungere il parametro
Register-ArgumentCompleter -NativeFallbackper supportare la registrazione di un completore per tutti i comandi nativi (#25230) - Considera
-Targetcome letterale inNew-Item(#25186) (grazie) @GameMicrowave!) - Aggiornare la variabile di ambiente PATH per l'eseguibile del gestore pacchetti in Windows (#25847)
- Aggiornamento
Get-Serviceper ignorare gli errori comuni durante il recupero di proprietà non critiche per un servizio (#24245) (grazie) @jborean93!) - Aggiungere il supporto per virgolette singole/doppie per
Join-StringArgument Completer (#25283) (grazie) @ArmaanMcleod!) - Rimuovi il controllo da
IsScreenReaderActive()inConsoleHost(#26118) - Migliorare il supporto delle
$usingespressioni inInvoke-Command(#24025) (grazie @jborean93!)) - Modificare il timeout predefinito del provider di commenti e suggerimenti da 300 ms a 1000 ms (#25910)
- Aggiunta del supporto per migliaia di separatori nel
[bigint]cast (#25396) (grazie) @AbishekPonmudi!) - Aggiungere
MethodInvocationuna traccia per il tracciamento dell'overload (#21320) (grazie @jborean93!)) - Correzione
ConvertFrom-Jsonper ignorare i commenti all'interno di valori letterali di array (#14553) (#26050) (grazie @MatejKafka!)) - Correzione
-Debugper non attivare ilShouldProcessprompt (#26081) - Correggi
Write-Hostper rispettareOutputRendering = PlainText(#21188) - Correzione dell'errore di traccia di debug con extent magic (#25726) (grazie) @jborean93!)
- Correzione delle virgolette nel completamento se il percorso include un carattere di virgolette doppie (#25631) (grazie) @MartinGC94!)
- Correzione del parametro
-ProgressActioncomune per le funzioni avanzate (#24591) (grazie) @cmkb3!) - Correzione di
NullReferenceExceptionquando si scrivono record di avanzamento nella console da più thread (#25440) (grazie a @kborowinski!)) - Usare il percorso assoluto in
FileSystemProvider.CreateDirectory(#24615) (grazie @Tadas!)) - Rendere accessibili i membri dell'istanza interna protetta ereditata nell'ambito della classe PowerShell (#25245) (grazie) @mawosoft!)
- Aggiungere metodi interni per controllare le preferenze (#25514) (grazie) @iSazonov!)
- Aggiungere
-ExcludeModuleparametro aGet-Command(#18955) (grazie @MartinGC94!) - Restituisce la proprietà FileName corretta per
Get-Itemquando si elencano flussi di dati alternativi (#18019) (grazie @kilasuit!) - Correggi
Get-ItemPropertyper segnalare un errore non terminante per l'eccezione di cast (#21115) (grazie @ArmaanMcleod!) - Correzione di un bug nel modo in cui q gestisce l'oggetto XmlNode (#24669) (grazie @brendandburns!)
- Errore quando
New-Item -Forceviene passato un nome di directory non valido (#24936) (grazie @kborowinski!) - Consentire a
Start-Transcriptdi usare$Transcript, una stringa avvolta daPSObject, per specificare il percorso della trascrizione (#24963) (grazie @kborowinski!)) - Migliorare l'efficienza del polling
Start-Process -Wait(#24711) (Grazie @jborean93!)) - Aggiungi il completamento dei moduli in base al nome breve (#20330) (grazie @MartinGC94!))
Miglioramenti del motore
- Correzione di una regressione nell'API
CompletionCompleters.CompleteFilename()che causa un'eccezione di riferimento Null (#26487) - Chiudere gli handle client di pipe dopo la creazione del processo SSH figlio (#26564)
- Aggiornare il modulo PSDiagnostics per gestire il provider PowerShellCore in PowerShell 7 (#25590)
- Consenti la possibilità di rifiutare il listener named-pipe usando la variabile di ambiente
POWERSHELL_DIAGNOSTICS_OPTOUT(#26086) - Assicurarsi che i timeout del socket siano impostati solo durante la convalida del token (#26066)
- Correggi l'output
stderrdell'host della console per rispettareNO_COLOR(#24391) - Aggiornare il protocollo PSRP per deprecare lo scambio di chiavi di sessione tra il client e il server più recente (#25774)
- Correggere il controllo del
sshPATH inSSHConnectionInfoquando lo spazio di esecuzione predefinito non è disponibile (#25780) (Grazie a @jborean93!)) - Aggiunta del formato esadecimale per i codici di uscita dei comandi nativi (#21067) (Grazie) @sba923!)
- Risolto il problema del ciclo infinito che causava un arresto anomalo nell'inferenza del tipo di variabile (#25696) (grazie a) @MartinGC94!)
- Aggiungere
PSForEachePSWherecome alias per i metodiWhereintrinseci di PowerShell eForeach(#25511) (grazie) @powercode!) - Aggiunto il modulo AIShell all'elenco di raccolta dati di telemetria (#24747)
- Aggiunta dell'helper in
EnumSingleTypeConverterper ottenere nomi di enumerazione come matrice (#17785) (grazie @fflaten!) - Aggiornare DnsNameList per X509Certificate2 per usare
X509SubjectAlternativeNameExtension.EnumerateDnsNames()Method (#24714) (grazie @ArmaanMcleod!)) - Stringify ErrorRecord con messaggio di eccezione vuoto in stringa vuota (#24949) (Grazie @MatejKafka!))
- Aggiungi
PipelineStopTokenaCmdlet, al quale verrà segnalato quando la pipeline viene arrestata (#24620) (grazie @jborean93!)) - Ritorno a AppLocker dopo
WldpCanExecuteFile(#24912) - Spostare la registrazione delle chiamate al metodo .NET dopo che è stata eseguita la conversione del tipo necessaria per gli argomenti del metodo (#25022)
- Correzione del ciclo infinito nell'inferenza del tipo di variabile (#25206) (grazie) @MartinGC94!)
- Rimuovere il suggerimento fuzzy precedente e correggere il suggerimento relativo al nome del file di script locale (#25177)
- Rendere
SystemPolicyvisibili le API pubbliche ma non operative sulle piattaforme Unix in modo che possano essere incluse inPowerShellStandard.Library(#25051) - Impostare gli handle standard in modo esplicito all'avvio di un processo con
-NoNewWindow(#25061) - Correggi il tooltip per l'espansione delle variabili e includi la descrizione (#25112) (grazie @jborean93!))
- Usare il percorso file script durante il completamento dei percorsi relativi per l'uso delle istruzioni (#20017) (grazie) @MartinGC94!)
- Consentire l'analisi DSC tramite gli strati di traduzione dell'architettura del sistema operativo (#24852) (grazie) @bdeb1337!)
Funzionalità sperimentali
PowerShell 7.6 include le modifiche seguenti alle funzionalità sperimentali.
Le funzionalità seguenti sono state convertite in funzionalità mainstream:
Questa versione include le funzionalità sperimentali seguenti:
-
PSSerializeJSONLongEnumAsNumber -
ConvertTo-Jsonora considera le enumerazioni di grandi dimensioni come numeri - PSProfileDSCResource - Aggiungere una risorsa DSC v3 per i profili di PowerShell