Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
PowerShell 7.3 är nästa stabila version som bygger på .NET 7.0.
PowerShell 7.3 innehåller följande funktioner, uppdateringar och brytande ändringar.
Oförenliga ändringar och förbättringar
- I den här versionen har Windows-API:er uppdaterats eller tagits bort för efterlevnad, vilket innebär att PowerShell 7.3 inte körs på Windows 7. Även om Windows 7 inte längre stöds kan tidigare versioner köras på Windows 7.
- PowerShell Direct för Hyper-V stöds endast i Windows 10, version 1809 och senare.
- 
              Test-Connectionär trasig på grund av en avsiktlig brytande ändring i .NET 7. Den spåras av #17018
- Lägg till cleanblock i skriptblock som motsvarighet tillbegin,processochendför att tillåta enkel resurshantering (#15177)
- Ändra standardvärdet för $PSStyle.OutputRenderingtill Värd
- Gör så att Out-StringochOut-Filebehåller strängindatan oförändrade (#17455)
- Flytta typdatadefinitionen för System.Security.AccessControl.ObjectSecurity till modulen Microsoft.PowerShell.Security (#16355) (tack @iSazonov!))
- Innan den här ändringen behöver en användare inte uttryckligen importera modulen Microsoft.PowerShell.Security för att använda kodegenskaperna som definierats för en instans av System.Security.AccessControl.ObjectSecurity.
- Efter den här ändringen måste en användare uttryckligen importera Modulen Microsoft.PowerShell.Security för att kunna använda dessa kodegenskaper och kodmetoder.
 
Förbättringar av flikens slutförande
- PowerShell 7.3 innehåller PSReadLine 2.2.6, vilket möjliggör Predictive IntelliSense som standard. Mer information finns i about_PSReadLine.
- Åtgärda tabkomplettering inom skriptblocket som har angetts för ValidateScriptAttribute. (#14550) (Tack @MartinGC94!)
- Lade till tabbkomplettering för loopetiketter efter break/continue(#16438) (Tack @MartinGC94!)
- Förbättra hashtabellslutförande i flera scenarier (#16498) (tack till @MartinGC94!)
- Parameterspridning
- 
              Argumentparameter för Invoke-CimMethod
- 
              FilterHashtable-parameter för Get-WinEvent
- Egenskapsparameter för CIM-cmdletar
- Tar bort dubbletter från scenarier för fullföljande av medlemskap
 
- Stöd för framåtsnedstreck i auto-komplettering av nätverksresurs (UNC-sökväg) (#17111) (tack till @sba923!)
- Förbättra automatisk komplettering av medlemmar (#16504) (tack @MartinGC94!))
- Prioritera ValidateSet-kompletteringar över enumerationer för parametrar (#15257) (tack @MartinGC94!))
- Lägg till typinferensstöd 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 klassavslutningen baseras på AST
 
- Tillåter att metoder visas i slutföranderesultat för 
- Förbättra typinferensen för $_(#17716) (Tack @MartinGC94!)
- Åtgärda typinferens för ICollection (#17752) (Tack @MartinGC94!)
- Förhindra att klammerparenteser tas bort när du kompletterar variabler (#17751) (Tack @MartinGC94!)
- Lägg till slutförande för indexuttryck för ordlistor (#17619) (tack @MartinGC94!)
- Åtgärda typavslut för attributtoken (#17484) (Tack @MartinGC94!)
- Förbättra slutförande av flik för dynamiska parametrar (#17661) (Tack till @MartinGC94!))
- Undvik att binda positionsparametrar när du slutför parametern framför värdet (#17693) (Tack @MartinGC94!)
Förbättrad felhantering
- Ange $?korrekt för kommandouttryck med omdirigeringar (#16046)
- Åtgärda ett gjutningsfel när du använder $PSNativeCommandUseErrorActionPreference(#15993)
- Gör det inbyggda kommandofelshanteringen valfritt att respektera ErrorActionPreference(#15897)
- Ange den körbara sökvägen som TargetObjectför ett icke-noll utgångskodsfel ErrorRecord (#16108) (Tack @rkeithhill!))
Förbättringar av sessioner och fjärrkommunikation
- Lägg till -Optionsi PSRP via SSH-kommandon för att tillåta direktöverföring av OpenSSH-alternativ (#12802) (tack @BrannenGH!)
- Lägg till -ConfigurationFileparameter förpwshatt tillåta att en ny process startas med sessionskonfigurationen som definierats i en.psscfil (#17447)
- Lägg till stöd för användning New-PSSessionConfigurationFilepå plattformar som inte är Windows -plattformar (#17447)
Uppdaterade cmdlets
- Lägg till -HttpVersionparametern i webb-cmdlets (#15853) (tack @hayhay27!)
- Lägg till stöd för webb-cmdletar för öppna indatataggar (#16193) (Tack @farmerau!)
- Korrigering ConvertTo-Json -Depthför att tillåta högst 100 (#16197) (tack @KevRitchie!)
- Förbättra variabelhanteringen när du anropar Invoke-Commandmed uttrycket$Using:(#16113) (Tack @dwtaber!)
- Lägger till -StrictModetillInvoke-Commandför att tillåta att strikt läge anges när kommandot anropas lokalt (#16545) (Tack @Thomas-Yu!)
- Lägg till cleanblock i skriptblock som en jämlike tillbegin,process, ochendför att tillåta enkel resursrensning (#15177)
- Lägg till -Amendedbrytare tillGet-CimClasscmdlet (#17477) (Tack @iSazonov)
- Ändrade ConvertFrom-Json -AsHashtableför att använda en ordnad hashtabell (#17405)
- ANSI-escapesekvenser i strängar har tagits bort innan de skickas till Out-GridView(#17664)
- Parametern Milliseconds har lagts till i New-TimeSpan(#17621) (tack @NoMoreFood!)
- Visa valfria parametrar när du visar metoddefinitioner och överlagringar (#13799) (Tack @eugenesmlv!)
- Tillåt att kommandon fortfarande körs även om den aktuella arbetskatalogen inte längre finns (#17579)
- Lägg till stöd för HTTPS med Set-AuthenticodeSignature -TimeStampServer(#16134) (tack @Ryan-Hutchison-USAF!)
- Rendera decimaltal i en tabell med aktuell kultur (#17650)
- Lägg till typaccelerator för OrderedDictionary (#17804) (tack @fflaten!))
- Lägg till find.exei äldre argumentbindningsbeteende för Windows (#17715)
- Lägg till -NoProfileLoadTimeomkopplare till pwsh (#17535) (Tack @rkeithhill!))
En fullständig lista över ändringar finns i Ändringsloggen på GitHub-lagringsplatsen.
Experimentella funktioner
I PowerShell 7.3 blev följande experimentella funktioner vanliga:
- PSAnsiRenderingFileInfo– Den här funktionen lägger till- $PSStyle.FileInfomedlemmen och aktiverar färgning av specifika filtyper.
- PSCleanBlock– Lägger till- cleanblock till skriptblocket som en jämställd till- begin,- processoch- endför att möjliggöra enkel resursrensning.
- PSAMSIMethodInvocationLogging– Utökar de data som skickas till AMSI för inspektion så att alla anrop av .NET-metodmedlemmar inkluderas.
- PSNativeCommandArgumentPassing – PowerShell använder nu egenskapen ArgumentList för StartProcessInfo-objektet i stället för den gamla mekanismen för att rekonstruera en sträng när en intern körbar fil anropas. - PowerShell 7.3.1 lägger - sqlcmd.exetill i listan över interna kommandon i Windows som använder- Legacyformatet för argumentöverföring.
- PSExec– Lägger till den nya- Switch-Processcmdleten (alias- exec) för att tillhandahålla- execkompatibilitet för icke-Windows-system.- PowerShell 7.3.1 ändrade aliaset - exectill en funktion som omsluter- Switch-Process. Med funktionen kan du skicka parametrar till det interna kommandot som felaktigt kan vara bundet till parametern WithCommand .
PowerShell 7.3 introducerar följande experimentella funktioner:
- 
              PSNativeCommandErrorActionPreference – Lägger till variabeln $PSNativeCommandUseErrorActionPreferenceför att aktivera fel som genereras av interna kommandon som PowerShell-fel.
PowerShell 7.3 tog bort följande experimentella funktioner:
- 
              PSNativePSPathResolutionexperimentell funktion stöds inte längre.
- 
              PSStrictModeAssignmentexperimentell funktion stöds inte längre.
Mer information om experimentella funktioner finns i Använda experimentella funktioner.