Dela via


Nyheter i PowerShell 7.6

PowerShell 7.6-preview.6 innehåller följande funktioner, uppdateringar och icke-bakåtkompatibla ändringar. PowerShell 7.6 bygger på .NET 10.0.0 GA-versionen.

En fullständig lista över ändringar finns i CHANGELOG- på GitHub-lagringsplatsen.

Moduler har uppdaterats

PowerShell 7.6-preview.6 innehåller följande uppdaterade moduler:

  • Microsoft.PowerShell.PSResourceGet v1.2.0-preview5
  • PSReadLine v2.4.4-beta4
  • Microsoft.PowerShell.ThreadJob v2.2.0
  • ThreadJob v2.1.0

ThreadJob har bytt namn till modulen Microsoft.PowerShell.ThreadJob. Det finns ingen skillnad i modulens funktioner. För att säkerställa bakåtkompatibilitet för skript som använder det gamla namnet är Modulen ThreadJob v2.1.0 en proxymodul som pekar på Microsoft.PowerShell.ThreadJob v2.2.0.

Brytande förändringar

  • Korrigering WildcardPattern.Escape för att undkomma ensamma backticks korrekt (#25211) (Tack @ArmaanMcleod!)
  • Konvertera -ChildPath parametern till string[] för Join-Path cmdlet (#24677) (tack @ArmaanMcleod!)
  • Ta bort avslutande utrymme från händelsekällans namn (#24192) (Tack @MartinGC94!)

Förbättringar av tab-komplettering

  • Expandera alias korrekt till deras faktiska lösta kommando (#26571) (tack @kilasuit!)
  • Använd parametern HelpMessage för verktygstips i parameterkomplettering (#25108) (Tack @jborean93!)
  • Ta bort dubblettmoduler från slutföranderesultat (#25538) (tack @MartinGC94!)
  • Lägg till slutförande för variabler som tilldelats i ArrayLiteralAst och ParenExpressionAst (#25303) (Tack @MartinGC94!)
  • Åtgärda tabbkomplettering för env/funktionsvariabler (#25346) (tack @jborean93!))
  • Uppdatera inferensen för namn- och instruktionsblocktyp för att inte ta hänsyn till Operatorerna AssignmentStatements och Increment/decrement som en del av deras utdata (#21137) (Tack @MartinGC94!)
  • Lägg till -PropertyType argumentkompleterare för New-ItemProperty (#21117) (Tack @ArmaanMcleod!))
  • Lägg till stöd för slutförande av enkla/dubbla offerter för -Noun parametern för Get-Command (#24977) (tack @ArmaanMcleod!)
  • Lägg till stöd för slutförande med enkla/dubbla citationstecken för parametern -PSEdition i Get-Module (#24971) (tack till @ArmaanMcleod!)).
  • Konvertera InvalidCommandNameCharacters i AnalysisCache till SearchValues<char> för effektivare teckensökning (#24880) (tack @ArmaanMcleod!)
  • Konvertera s_charactersRequiringQuotes i Complete Completers till SearchValues<char> för effektivare teckensökning (#24879) (tack @ArmaanMcleod!)
  • Uppdatera IndexOfAny() anrop med ogiltig sökväg/filnamn till SearchValues<char> för effektivare teckensökning ([#24896][24896]) (Tack @ArmaanMcleod!)
  • Ersätt char[] matrisen i CompletionRequiresQuotes med cachelagrad SearchValues<char> (#24907) (tack @ArmaanMcleod!))
  • Lägg till hantering av citattecken i Verb, StrictModeVersion, Scope och PropertyType argumentkompletterare med en enkel hjälpmetod (#24839) (tack @ArmaanMcleod!)
  • Åtgärda slutförande av resurs med provider och blanksteg (#19440) (Tack @MartinGC94!)
  • Förbättra typinferens av variabel (#19830) (Tack @MartinGC94!)
  • Lägg till verktygstips för nyckelslutföranden i hashtabeller (#17864) (Tack @MartinGC94!))
  • Åtgärda typinferens för parametrar i klassiska funktioner (#25172) (tack @MartinGC94!)
  • Förbättra inferensen för tilldelningstyp (#21143) (tack @MartinGC94!)
  • Exkludera OutVariable-tilldelningar inom samma CommandAst när du härleder variabler (#25224) (tack @MartinGC94!)
  • Åtgärda slutförandet av parametern när skriptkraven inte uppfylls (#17687) (Tack @MartinGC94!)
  • Förbättra slutförandet för attributargument (#25129) (tack @MartinGC94!)
  • Åtgärda slutförande som förlitar sig på pseudobindning i skriptblock (#25122) (tack @MartinGC94!)
  • Slutför inte duplicerade kommandonamn (#21113) (Tack @MartinGC94!)
  • Lägg till variabelkomplettering som anges genom kommandoomdirigering (#25104) (tack till @MartinGC94!))
  • Åtgärda TypeName.GetReflectionType() så att den fungerar när instansen TypeName representerar en allmän typdefinition inom en GenericTypeName (#24985)
  • Uppdatera slutförande av variabel-/egenskapstilldelning så att den kan återgå till typinferens (#21134) (Tack @MartinGC94!)
  • Hantera typinferens för omdirigerade kommandon (#21131) (Tack @MartinGC94!))
  • Använd Get-Help metoden för att hitta about_*.help.txt filer med rätt nationella inställningar för slutföranden (#24194) (Tack @MartinGC94!)
  • Åtgärda slutförandet av variabler som tilldelats i Do-loopar (#25076) (Tack @MartinGC94!))
  • Åtgärda komplettering av providersökvägar när en sökväg returneras som sig själv snarare än dess underliggande sökvägar (#24755) (Tack @MartinGC94!)
  • Tillåt slutförande av omfångsvariabler utan att ange omfång (#20340) (Tack @MartinGC94!)
  • Åtgärda problem med ofullständiga resultat när man slutför sökvägar med jokertecken i icke-filsystemleverantörer (#24757) (Tack @MartinGC94!)

Cmdlet-förbättringar

  • Lägg till -Delimiter parametern i Get-Clipboard (#26572) (Tack @MartinGC94!)
  • Åtgärda Out-GridView genom att ersätta användningen av den föråldrade BinaryFormatter med en anpassad implementering (#25497) (tack @mawosoft!))
  • Förbättra utförliga och felsökningsloggningsnivåmeddelanden i webb-cmdletar (#25510) (tack @JustinGrote!)
  • Förbättra felsökningsloggningen av webb-cmdletens begäran och svar (#25479) (tack @JustinGrote!)
  • Lägg till parametern Register-ArgumentCompleter -NativeFallback för att stödja registrering av en täckande komplettare för inbyggda kommandon (#25230)
  • Behandla -Target som literal i New-Item (#25186) (Tack @GameMicrowave!)
  • Uppdatera PATH-miljövariabeln för den körbara pakethanteraren i Windows (#25847)
  • Uppdatera Get-Service för att ignorera vanliga fel vid hämtning av icke-kritiska egenskaper för en tjänst (#24245) (tack @jborean93!)
  • Lägg till stöd för enkla och dubbla citattecken för Join-String Argument Completer (#25283) (tack till @ArmaanMcleod!))
  • Ta bort IsScreenReaderActive() kontrollen från ConsoleHost (#26118)
  • Förbättra uttrycksstödet $using i Invoke-Command (#24025) (tack @jborean93!)
  • Ändra standardtidsgränsen för feedbackprovidern från 300 ms till 1 000 ms (#25910)
  • Lägg till stöd för tusentals avgränsare i [bigint] gjutning (#25396) (Tack @AbishekPonmudi!)
  • Lägg till MethodInvocation spår för spårning av överbelastning (#21320) (tack @jborean93!)
  • Åtgärda ConvertFrom-Json för att ignorera kommentarer i matrisliteraler (#14553) (#26050) (Tack @MatejKafka!)
  • Åtgärda -Debug för att inte utlösa prompten ShouldProcess (#26081)
  • Åtgärda Write-Host för att följa OutputRendering = PlainText (#21188)
  • Åtgärda felsökningsspårningsfel med magiska omfattningar (#25726) (tack @jborean93!))
  • Fixar citat i autoifyllning om sökvägen innehåller dubbla citattecken (#25631). Tack @MartinGC94!)
  • Åtgärda den vanliga parametern -ProgressAction för avancerade funktioner (#24591) (tack @cmkb3!)
  • Åtgärda NullReferenceException när förloppsposter skrivs till konsolen från flera trådar (#25440) (Tack @kborowinski!)
  • Använd absolut sökväg i FileSystemProvider.CreateDirectory (#24615) (Tack @Tadas!))
  • Gör ärvda interna skyddade instansmedlemmar tillgängliga i PowerShell-klassens omfång (#25245) (tack @mawosoft!)).
  • Lägg till interna metoder för att kontrollera inställningar (#25514) (tack @iSazonov!)
  • Lägg till -ExcludeModule parameter i Get-Command (#18955) (Tack @MartinGC94!))
  • Returnera korrekt filnamn-egenskap för Get-Item när alternativa dataströmmar listas (#18019) (tack @kilasuit!)
  • Åtgärda Get-ItemProperty för att rapportera icke-avslutande fel för kastundantag (#21115) (Tack @ArmaanMcleod!)
  • Åtgärda en bugg i hur q hanterar XmlNode-objekt (#24669) (tack @brendandburns!)
  • Fel när New-Item -Force får ett ogiltigt katalognamn (#24936) (Tack @kborowinski!)
  • Tillåt Start-Transcript att använda $Transcript som är en PSObject omsluten sträng för att ange avskriftssökvägen (#24963) (Tack @kborowinski!)
  • Förbättra Start-Process -Wait avsökningseffektiviteten (#24711) (tack @jborean93!)
  • Lägg till slutförande av moduler med deras kortnamn (#20330) (Tack @MartinGC94!)

Motorförbättringar

  • Åtgärda en regression i API CompletionCompleters.CompleteFilename() :et som orsakar null-referensfel (#26487)
  • Stäng pipe-klienthandtag när du har skapat den underordnade ssh-processen (#26564)
  • Uppdatera PSDiagnostics-modulen för att hantera PowerShellCore-providern i PowerShell 7 (#25590)
  • Tillåt avanmälning från lyssnaren med namnet pipe med hjälp av miljövariabeln POWERSHELL_DIAGNOSTICS_OPTOUT (#26086)
  • Kontrollera att tidsgränser för socket endast anges under tokenverifieringen (#26066)
  • Åtgärda stderr utdata från konsolvärden för att respektera NO_COLOR (#24391)
  • Uppdatera PSRP-protokollet för att avråda sessionnyckelutbyte mellan nyare klient och server (#25774)
  • Åtgärda granskningen av PATH ssh i SSHConnectionInfo när standardkörmiljön inte är tillgänglig (#25780) (tack @jborean93!)
  • Lägga till hexformat för inbyggda kommandons utgångskoder (#21067) (Tack @sba923!)
  • Åtgärda oändlig loop-krasch vid tydning av variabeltyp (#25696) (Tack @MartinGC94!)
  • Lägg till PSForEach och PSWhere som alias för PowerShell-inbyggda metoder Where och Foreach (#25511) (tack @powercode!)
  • AIShell-modulen har lagts till i listan över telemetrisamlingar (#24747)
  • Lade till hjälpmetod i EnumSingleTypeConverter för att hämta enum-namn som en matris (#17785) (tack @fflaten!))
  • Uppdatera DnsNameList för X509Certificate2 för att använda X509SubjectAlternativeNameExtension.EnumerateDnsNames() metoden (#24714) (Tack @ArmaanMcleod!)
  • Stringify ErrorRecord med tomt undantagsmeddelande till tom sträng (#24949) (Tack @MatejKafka!)
  • Lägg till PipelineStopToken till Cmdlet som kommer att signaleras när pipelinen stoppas (#24620) (Tack @jborean93!)
  • Återgång till AppLocker efter WldpCanExecuteFile (#24912)
  • Flytta .NET-metodanropsloggning till efter att den nödvändiga typkonverteringen har gjorts för metodargument (#25022)
  • Åtgärda oändlig loop i variabeltypinferens (#25206) (Tack @MartinGC94!)
  • Ta bort det gamla fuzzy-förslaget och åtgärda det lokala skriptfilnamnsförslaget (#25177)
  • Gör SystemPolicy offentliga API:er synliga men icke-op på Unix-plattformar så att de kan ingå i PowerShellStandard.Library (#25051)
  • Ange standardhandtag explicit när du startar en process med -NoNewWindow (#25061)
  • Åtgärda knappbeskrivning för variabelexpansion och inkludera desc (#25112) (tack @jborean93!)
  • Använd skriptfilsökvägen när du slutför relativa sökvägar för att använda instruktioner (#20017) (tack @MartinGC94!)
  • Tillåt DSC-parsning via skikt för översättning av operativsystemarkitektur (#24852) (tack @bdeb1337!))

Experimentella funktioner

PowerShell 7.6-preview.6 innehåller följande ändringar i experimentella funktioner.

Följande funktioner har konverterats till vanliga funktioner:

Den här versionen innehåller följande experimentella funktioner: