Nyheter i PowerShell 7.3

PowerShell 7.3 är nästa förhandsversion som bygger på .NET 7.0.

PowerShell 7.3-preview.5 innehåller följande funktioner, uppdateringar och icke-bakåtkompatibla ändringar.

Kända problem i 7.3-preview.6

Dessa problem bör åtgärdas i nästa version av .NET 7 och inkluderas i en framtida förhandsversion av PowerShell 7.3.

Förbättrad felhantering

  • Korrekt inställd $? för kommandouttryck med omdirigeringar (#16046)
  • Åtgärda ett gjutningsfel när du använder $PSNativeCommandUseErrorActionPreference (#15993)
  • Gör så att det interna kommandofelet hanterar om du vill ErrorActionPreference (#15897)
  • Ange den körbara sökvägen som TargetObject för slutkoden ErrorRecord (#16108) (tack @rkeithhill!)

Förbättringar av session och fjärrkommunikation

  • Lägg till -Options i PSRP över SSH-kommandon för att tillåta att OpenSSH-alternativ skickas direkt (#12802) (tack @BrannenGH!)
  • Lägg till -ConfigurationFile parameter pwsh för att tillåta att en ny process startas med sessionskonfigurationen som definierats i en .pssc fil (#17447)
  • Lägg till stöd för användning New-PSSessionConfigurationFile på plattformar som inte är Windows -plattformar (#17447)

Förbättringar av flikens slutförande

  • Åtgärda flikslut i skriptblocket som angetts ValidateScriptAttributeför . (#14550) (Tack @MartinGC94!)
  • Fliken har slutförts för loopetiketter efter break/continue (#16438) (tack @MartinGC94!)
  • Förbättra hashtable-slutförandet i flera scenarier (#16498) (tack @MartinGC94!)
    • Parametersplatting
    • Argumentparameter för Invoke-CimMethod
    • FilterHashtable-parameter för Get-WinEvent
    • Egenskapsparameter för CIM-cmdletar
    • Tar bort dubbletter från medlemsslutscenarier
  • Stöd för snedstreck i slutförande av nätverksresurs (UNC-sökväg) (#17111) (#17117) (tack @sba923!)
  • Förbättra automatisk slutförande av medlemmar (#16504) (tack @MartinGC94!)
  • Prioritera ValidateSet-slutföranden över Uppräkningar för parametrar (#15257) (tack @MartinGC94!)
  • Lägg till stöd för typinferens för generiska metoder med typparametrar (#16951) (Tack @MartinGC94!)
  • Förbättra typinferens och slutföranden (#16963) (Tack @MartinGC94!)
    • Tillåter att metoder visas i slutföranderesultat för ForEach-Object -MemberName
    • Förhindrar slutförande av uttryck som returnerar tomrum som ([void](""))
    • Tillåter att icke-standardklasskonstruktorer visas när klassavslut baseras på AST

Uppdaterade cmdletar

  • Lägg till -HttpVersion parameter i webb-cmdletar (#15853) (tack @hayhay27!)
  • Lägg till stöd för webb-cmdletar för öppna indatataggar (#16193) (tack @farmerau!)
  • Korrigering ConvertTo-Json -Depth för att tillåta högst 100 (#16197) (Tack @KevRitchie!)@rkeithhill!)
  • Förbättra variabelhanteringen när du anropar Invoke-Command med $using: uttrycket (#16113) (Tack @dwtaber!)
  • Lägg till -StrictModeInvoke-Command i för att tillåta att strikt läge anges när kommandot anropas lokalt (#16545) (tack @Thomas-Yu!)
  • Lägg till clean block i skriptblocket som en peer till begin, processoch end för att tillåta enkel resursrensning (#15177)
  • Lägg till -Amended växel till Get-CimClass cmdlet (#17477) (Tack @iSazonov)
  • Har ändrats ConvertFrom-Json -AsHashtable för att använda ordnad hashtable (#17405)
  • Ansi-escapesekvenser har tagits bort i strängar innan de skickas till Out-GridView (#17664)
  • Parametern Millisekunder har lagts till New-TimeSpan i (#17621) (tack @NoMoreFood!)
  • Visa valfria parametrar när du visar metoddefinitioner och överlagringar (#13799) (Tack @eugenesmlv!)

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

Experimentella funktioner

PowerShell 7.3 introducerar följande experimentella funktioner:

  • PSExec – Lägger till den nya Switch-Process cmdleten (alias exec) för att tillhandahålla exec kompatibilitet för icke-Windows-system.
  • PSCleanBlock – Lägger till clean blockering i skriptblock som peer till begin, processoch end för att möjliggöra enkel resursrensning.
  • PSStrictModeAssignment – Lägger till parametern StrictMode för att Invoke-Command tillåta att strikt läge anges när kommandot anropas lokalt.
  • PSNativeCommandErrorActionPreference – Lägger till variabeln $PSNativeCommandUseErrorActionPreference för att aktivera fel som genereras av interna kommandon till PowerShell-fel.
  • PSAMSIMethodInvocationLogging – Utökar de data som skickas till AMSI för inspektion så att alla anrop av .NET-metodmedlemmar inkluderas.

Mer information om experimentella funktioner finns i [Använda experimentella funktioner][exp].

Icke-bakåtkompatibla ändringar och förbättringar

  • Lägg till clean block i skriptblocket som en peer till begin, processoch end för att tillåta enkel resursrensning (#15177)
  • Ändra standard för $PSStyle.OutputRendering till Ansi
  • Gör Out-String och Out-File behåll strängindata oförändrade (#17455)