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.
Test-Connectionis verbroken vanwege een opzettelijke wijziging die fouten veroorzaakt in .NET 7. Het wordt bijgehouden door #17018
Foutafhandeling verbeterd
- Correct instellen
$?voor opdrachtexpressie met omleidingen (#16046) - Een cast-fout oplossen bij gebruik
$PSNativeCommandUseErrorActionPreference(#15993) - Afhandeling van systeemeigen opdrachtfouten optioneel
ErrorActionPreferenceuitvoeren (#15897) - Geef het uitvoerbare pad op voor
TargetObjectniet-nul afsluitcode ErrorRecord (#16108) (Bedankt) @rkeithhill!)
Verbeteringen voor sessies en externe communicatie
- Toevoegen
-Optionsaan de PSRP via SSH-opdrachten om openSSH-opties rechtstreeks door te geven (#12802) (bedankt) @BrannenGH!) - Parameter toevoegen
-ConfigurationFileom het starten van een nieuw proces toe tepwshstaan met de sessieconfiguratie die is gedefinieerd in een.psscbestand (#17447) - Ondersteuning toevoegen voor het gebruik
New-PSSessionConfigurationFileop 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
- Hiermee kunnen methoden worden weergegeven in voltooiingsresultaten voor
Bijgewerkte cmdlets
- Parameter toevoegen
-HttpVersionaan web-cmdlets (#15853) (Bedankt @hayhay27!) - Ondersteuning toevoegen aan web-cmdlets voor open-ended invoertags (#16193) (Bedankt) @farmerau!)
- Oplossing
ConvertTo-Json -Depthom maximaal 100 toe te staan (#16197) (Bedankt) @KevRitchie!)@rkeithhill!) - De verwerking van variabelen verbeteren bij het aanroepen
Invoke-Commandmet de$using:expressie (#16113) (Bedankt) @dwtaber!) - Toevoegen
-StrictModeomInvoke-Commandhet opgeven van de strikte modus toe te staan bij het lokaal aanroepen van opdracht (#16545) (Bedankt) @Thomas-Yu!) - Voeg
cleanblok toe aan scriptblok als peer-toprocessbeginenendom eenvoudig opschonen van resources toe te staan (#15177) - Schakeloptie toevoegen
-AmendedaanGet-CimClasscmdlet (#17477) (Bedankt @iSazonov) - Gewijzigd in gebruik
ConvertFrom-Json -AsHashtablevan geordende hashtabel (#17405) - ANSI-escapereeksen in tekenreeksen verwijderd voordat ze naar (#17664) worden
Out-GridViewverzonden - 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-Processcmdlet (aliasexec) toe om compatibiliteit te biedenexecvoor niet-Windows-systemen. - PSCleanBlock - Voegt
cleanblok toe aan scriptblok als peer-tobegin,processenendom eenvoudig opschonen van resources mogelijk te maken. - PSStrictModeAssignment : voegt de parameter StrictMode toe om strikte modus op te
Invoke-Commandgeven bij het lokaal aanroepen van de opdracht. - PSNativeCommandErrorActionPreference : voegt de
$PSNativeCommandUseErrorActionPreferencevariabele 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
cleanblok toe aan scriptblok als peer-toprocessbeginenendom eenvoudig opschonen van resources toe te staan (#15177) - Standaardinstelling wijzigen voor
$PSStyle.OutputRenderingAnsi - Tekenreeksinvoer ongewijzigd maken
Out-StringenOut-Filebehouden (#17455)