Wat is er nieuw in PowerShell 7.3?

PowerShell 7.3 is de volgende preview-versie, gebouwd op .NET 7.0.

PowerShell 7.3-preview.5 bevat de volgende functies, updates en belangrijke wijzigingen.

Bekende problemen in 7.3-preview.6

Deze problemen moeten worden opgelost in de volgende versie van .NET 7 en opgenomen in een toekomstige preview van PowerShell 7.3.

Foutafhandeling verbeterd

  • Correct instellen $? voor opdrachtexpressie met omleidingen (#16046)
  • Een cast-fout oplossen bij gebruik $PSNativeCommandUseErrorActionPreference (#15993)
  • Afhandeling van systeemeigen opdrachtfouten optioneel ErrorActionPreference uitvoeren (#15897)
  • Geef het uitvoerbare pad op voor TargetObject niet-nul afsluitcode ErrorRecord (#16108) (Bedankt) @rkeithhill!)

Verbeteringen voor sessies en externe communicatie

  • Toevoegen -Options aan de PSRP via SSH-opdrachten om openSSH-opties rechtstreeks door te geven (#12802) (bedankt) @BrannenGH!)
  • Parameter toevoegen -ConfigurationFile om het starten van een nieuw proces toe te pwsh staan met de sessieconfiguratie die is gedefinieerd in een .pssc bestand (#17447)
  • Ondersteuning toevoegen voor het gebruik New-PSSessionConfigurationFile op niet-Windows-platforms (#17447)

Verbeteringen aan tabvoltooiing

  • Tabvoltooiing herstellen in het scriptblok dat is opgegeven voor de ValidateScriptAttribute. (#14550) (Bedankt @MartinGC94!)
  • Tabvoltooiing toegevoegd voor luslabels na break/continue (#16438) (Bedankt) @MartinGC94!)
  • Hashtable-voltooiing in meerdere scenario's verbeteren (#16498) (Bedankt @MartinGC94!)
    • Parametersplatting
    • Parameter Argumenten voor Invoke-CimMethod
    • FilterHashtable-parameter voor Get-WinEvent
    • Eigenschapsparameter voor de CIM-cmdlets
    • Duplicaten verwijderen uit scenario's voor het voltooien van leden
  • Ondersteuning voor slashes in netwerkshare (UNC-pad) voltooiing (#17111) (#17117) (Bedankt @sba923!)
  • Automatisch aanvullen van leden verbeteren (#16504) (bedankt) @MartinGC94!)
  • Validatieset-voltooiingen prioriteren boven Enums voor parameters (#15257) (bedankt) @MartinGC94!)
  • Ondersteuning voor typedeductie toevoegen voor algemene methoden met typeparameters (#16951) (Bedankt) @MartinGC94!)
  • Typedeductie en voltooiingen verbeteren (#16963) (Bedankt @MartinGC94!)
    • Hiermee kunnen methoden worden weergegeven in voltooiingsresultaten voor ForEach-Object -MemberName
    • Hiermee voorkomt u dat de voltooiing van expressies die een ongeldige waarde retourneren, zoals ([void](""))
    • Hiermee kunnen niet-standaardklasseconstructors worden weergegeven wanneer klassevoltooiing is gebaseerd op de AST

Bijgewerkte cmdlets

  • Parameter toevoegen -HttpVersion aan web-cmdlets (#15853) (Bedankt @hayhay27!)
  • Ondersteuning toevoegen aan web-cmdlets voor open-ended invoertags (#16193) (Bedankt) @farmerau!)
  • Oplossing ConvertTo-Json -Depth om maximaal 100 toe te staan (#16197) (Bedankt) @KevRitchie!)@rkeithhill!)
  • De verwerking van variabelen verbeteren bij het aanroepen Invoke-Command met de $using: expressie (#16113) (Bedankt) @dwtaber!)
  • Toevoegen -StrictMode om Invoke-Command het opgeven van de strikte modus toe te staan bij het lokaal aanroepen van opdracht (#16545) (Bedankt) @Thomas-Yu!)
  • Voeg clean blok toe aan scriptblok als peer-to processbeginen end om eenvoudig opschonen van resources toe te staan (#15177)
  • Schakeloptie toevoegen -Amended aan Get-CimClass cmdlet (#17477) (Bedankt @iSazonov)
  • Gewijzigd in gebruik ConvertFrom-Json -AsHashtable van geordende hashtabel (#17405)
  • ANSI-escapereeksen in tekenreeksen verwijderd voordat ze naar (#17664) worden Out-GridView verzonden
  • De parameter Milliseconden toegevoegd aan New-TimeSpan (#17621) (Bedankt) @NoMoreFood!)
  • Optionele parameters weergeven bij het weergeven van methodedefinities en overbelastingen (#13799) (Bedankt) @eugenesmlv!)

Zie het wijzigingenlogboek in de GitHub-opslagplaats voor een volledige lijst met wijzigingen.

Experimentele functies

PowerShell 7.3 introduceert de volgende experimentele functies:

  • PSExec : voegt de nieuwe Switch-Process cmdlet (alias exec) toe om compatibiliteit te bieden exec voor niet-Windows-systemen.
  • PSCleanBlock - Voegt clean blok toe aan scriptblok als peer-to begin, processen end om eenvoudig opschonen van resources mogelijk te maken.
  • PSStrictModeAssignment : voegt de parameter StrictMode toe om strikte modus op te Invoke-Command geven bij het lokaal aanroepen van de opdracht.
  • PSNativeCommandErrorActionPreference : voegt de $PSNativeCommandUseErrorActionPreference variabele toe om fouten die worden geproduceerd door systeemeigen opdrachten in te schakelen om PowerShell-fouten te zijn.
  • PSAMSIMethodInvocationLogging - breidt de gegevens uit die naar AMSI worden verzonden voor inspectie om alle aanroepen van .NET-methodeleden op te nemen.

Zie [Experimentele functies gebruiken][exp] voor meer informatie over de experimentele functies.

Belangrijke wijzigingen en verbeteringen

  • Voeg clean blok toe aan scriptblok als peer-to processbeginen end om eenvoudig opschonen van resources toe te staan (#15177)
  • Standaardinstelling wijzigen voor $PSStyle.OutputRenderingAnsi
  • Tekenreeksinvoer ongewijzigd maken Out-String en Out-File behouden (#17455)