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.4.13 innehåller följande funktioner, uppdateringar och icke-bakåtkompatibla ändringar. PowerShell 7.4.13 bygger på .NET 8.0.415.
En fullständig lista över ändringar finns i CHANGELOG- på GitHub-lagringsplatsen.
Icke-bakåtkompatibla ändringar
- Nano Server Docker-avbildningar är inte tillgängliga för den här versionen
- Parametern ProgressAction har lagts till i de gemensamma parametrarna
- Uppdatera vissa PowerShell-API:er för att utlösa ArgumentException- i stället för ArgumentNullException när argumentet är en tom sträng (#19215) (tack @xtqqczze!)
- Ta bort kod som rör #Requires -PSSnapin(#19320)
- 
              Test-Jsonanvänder nu JsonSchema.NET i stället för Newtonsoft.Json.Schema.- Med den här ändringen stöder Test-Jsoninte längre äldre scheman för utkast 4. (#18141) (Tack @gregsdennis!). Mer information om JSON-scheman finns i dokumentationen JSON Schema. Detta bryter ocksåTest-Jsonför JSON- och JSONC-filer med kommentarer.
- 
              ConvertFrom-Jsonstöd använder fortfarande Newtonsoft.Json.Schema så att det kan konvertera JSON-filer med kommentarer.
 
- Med den här ändringen stöder 
- Utdata från Test-Connectioninnehåller nu mer detaljerad information om TCP-anslutningstester
- .NET införde ändringar som påverkade Test-Connection. Cmdleten returnerar nu ett fel om behovet av att användasudopå Linux-plattformar när du använder en anpassad buffertstorlek (#20369)
- Experimentell funktion PSNativeCommandPreserveBytePipe är nu vanlig. PowerShell bevarar nu byteströmsdata vid omdirigering av stdout- strömmen av ett inbyggt kommando till en fil eller när byteströmsdata skickas till stdin-strömmen för ett inbyggt kommando.
- Ändra hur relativa sökvägar i Resolve-Pathhanteras när du använder parametern RelativeBasePath (#19755) (tack @MartinGC94!)
- Ta bort oanvänd PSv2-kod – tar bort funktionen TabExpansion (#18337)
Uppdateringar av installationsprogrammet
Windows MSI-paketet innehåller nu ett alternativ för att inaktivera PowerShell-telemetri under installationen. Mer information finns i Installera msi-paketet från kommandoraden.
Uppdaterade versioner av PSResourceGet och PSReadLine
PowerShell 7.4 innehåller Microsoft.PowerShell.PSResourceGet v1.1.1. Den här modulen installeras sida vid sida med PowerShellGet v2.2.5 och PackageManagement v1.4.8.1. Mer information finns i dokumentationen för Microsoft.PowerShell.PSResourceGet.
PowerShell 7.4 innehåller nu PSReadLine v2.3.6. Mer information finns i dokumentationen för PSReadLine.
Förbättringar av tab-komplettering
Stort tack till @MartinGC94 och andra för allt ert arbete med att förbättra tabbkomplettering.
- Åtgärda problem när du slutför det första kommandot i ett skript med ett tomt matrisuttryck (#18355)
- Korrigera slutförande av positionsargument (#17796)
- Prioritera standardparameteruppsättningen när du slutför positionella argument (#18755)
- Förbättra pseudobindningen för dynamiska parametrar (#18030)
- Förbättra typinferensen för hash-tabellnycklar (#17907)
- Åtgärda typinferensfel för tomma returinstruktioner (#18351)
- Förbättra typinferensen för Get-Random (#18972)
- Åtgärda typinferens för alla omfångsvariabler (#18758)
- Förbättra uppräkning av härledda typer i pipeline (#17799)
- Lägg till slutförande för värden i jämförelser vid jämförelse av uppräkningar (#17654)
- Lägg till egenskapstilldelningens slutförande för enums (#19178)
- Åtgärda slutförande för egenskaper av PSCustomObject-variabler (#18682)
- Åtgärda medlemskomplettering i attributargument (#17902)
- Undanta redundanta parameteralias från slutföranderesultat (#19382)
- Åtgärda komplettering av klassmedlem för klasser med bastyper (#19179)
- Lägg till slutförande för nyckelordet using(#16514)
- Åtgärda TabExpansion2-variabelläcka när du slutför variabler (#18763)
- Aktivera slutförande av variabler i ScriptBlock-omfång (#19819)
- Rätta till slutförandet av foreach-satsens variabel (#19814)
- Korrigera prioritet för inferens av variabeltyp (#18691)
- Åtgärda medlemsavslut för PowerShell Enum-klass (#19740)
- Korrigera parsning för matrisliteraler i indexuttryck i metodanrop (#19224)
- Förbättra komplettering av sökvägen (#19489)
- Åtgärda ett fel vid indexering utanför gränsen i CompleteInput för tomma skriptindata (#19501)
- Förbättra prestanda för automatisk komplettering av variabler (#19595)
- Förbättra slutförande av hashtable-nyckel för typbegränsade variabeltilldelningar, kapslade hashtables med mera (#17660)
- Härled externa programutdata som strängar (#19193)
- Uppdatera parameterkomplettering för enums för att exkludera värden som inte tillåts av ValidateRange-attribut (#17750) (Tack @fflaten!)).
- Åtgärda komplettering av dynamiska parametrar (#19510)
- Lägg till stöd för fullständighet för variabler som tilldelats av instruktionen data(#19831)
- Åtgärda expanderande tilde (~) på Windows-systemen till$HOMEför att förhindra felanvändningsfall med inbyggda kommandon (#21529).
Förbättringar av webb-cmdlet
Stort tack till @CarloToso och andra för allt arbete med att förbättra webb-cmdletar.
- Åtgärda dekomprimering i webb-cmdletar för att inkludera Brotli (#17955) (Tack @iSazonov!)
- Webcmdlets lägger till 308 i omdirigeringskoder och liten rensning (#18536)
- Slutför förloppsindikatoråtergivningen i Invoke-WebRequest när nedladdningen är klar eller avbryts (#18130)
- Webb-cmdletar får Försök igen efter intervall från svarshuvuden om statuskoden är 429 (#18717)
- Webb-cmdletar anger standardkodning för teckenuppsättning till UTF-8 (#18219)
- Bevara WebSession.MaximumRedirection från ändringar (#19190)
- WebCmdlets parsar XML-deklarationen för att hämta kodningsvärdet, om det finns. (#18748)
- Korrigering med xml--Body i webcmdlets utan kodning (#19281)
- Justera PUT-metodens beteende till POST ett för standardinnehållstypen i WebCmdlets (#19152)
- Ta hänsyn till ContentType från rubriker i WebCmdlets (#19227)
- Tillåt att den ursprungliga HTTP-metoden bevaras genom att lägga till -PreserveHttpMethodOnRedirect till webb-cmdletar (#18894)
- Webcmdlets visar ett fel på https till http-omdirigering (#18595)
- Lägg till AllowInsecureRedirect växla till webb-cmdletar (#18546)
- Förbättra utförliga meddelanden i webb-cmdletar när innehållslängden är okänd (#19252)
- Skapa den relativa URI:n för länkar från svaret i Invoke-WebRequest(#19092)
- Åtgärda omdirigering för -CustomMethod POSTi WebCmdlets (#19111)
- Ta bort tidigare svar i Webcmdlets (#19117)
- Förbättra Invoke-WebRequestxml- och json-felformat (#18837)
- Lägg till ValidateNotNullOrEmpty i OutFile och InFile parametrar för WebCmdlets (#19044)
- HttpKnownHeaderNames uppdatera huvudlistan (#18947)
- 
              Invoke-RestMethod -FollowRelLinkåtgärda länkar som innehåller kommatecken (#18829)
- Åtgärda bugg med hantering av omdirigering och KeepAuthorization i webb-cmdletar (#18902)
- Lägg till StatusCode i HttpResponseException (#18842)
- Stöd för HTTP-beständiga anslutningar i webb-cmdlets (#19249) (Tack @stevenebutler!))
- Liten rensning Invoke-RestMethod(#19490)
- Förbättra det utförliga meddelandet för WebCmdlets för att visa rätt HTTP-version (#19616)
- Lägg till FileNameStar i MultipartFileContent i WebCmdlets (#19467)
- Åtgärda HTTP-status från 409 till 429 för WebCmdlets för att få återförsöksintervall från Retry-After sidhuvud. (#19622) (Tack @mkht!)
- Ändra -TimeoutSectill-ConnectionTimeoutSecondsoch lägg till-OperationTimeoutSecondsi webb-cmdlets (#19558) (tack @stevenebutler!) Andra cmdlets)
- Stöd Ctrl+c när anslutningen hänger sig när du läser data i WebCmdlets (#19330) (Tack @stevenebutler!))
- Stöd för Unix-domänsocket i WebCmdlets (#19343)
Andra cmdlet-förbättringar
- 
              Test-Connectionreturnerar nu ett fel om behovet av att användasudopå Linux-plattformar när du använder en anpassad buffertstorlek (#20369)
- Lägg till utdatatyper i Format-kommandon (#18746) (Tack @MartinGC94!))
- Lägg till attribut för utdatatyp för Get-WinEvent(#17948) (tack @MartinGC94!)
- Lägg till Path och LiteralPath som parametrar i Test-Jsoncmdlet (#19042) (Tack @ArmaanMcleod!)
- Lägg till NoHeader-parametern i ConvertTo-Csv- ochExport-Csv-cmdletar (#19108) (tack @ArmaanMcleod!)
- Lägg till parametrarna Confirm och WhatIf till Stop-Transcript(#18731) (Tack @JohnLBevan!)
- Lägg till parametern FuzzyMinimumDistance i Get-Command(#18261)
- Gör så att -kodning-parametern kan använda ANSI-kodning i PowerShell (#19298) (Tack @CarloToso!))
- Lägg till framsteg i Copy-Item(#18735)
- 
              Update-Helprapporterar nu ett fel när du använder implicit kultur i system som inte är amerikanska. (#17780) (Tack @dkaszews!)
- Kräv inte aktivitet när du skapar en fullständig förloppspost (#18474) (Tack @MartinGC94!))
- Tillåt inte negativa värden för Get-Contentcmdletparametrar-Headoch-Tail(#19715) (tack @CarloToso!)
- Se till att Update-Helpkastar rätt fel när den aktuella kulturen inte är kopplad till ett språk (#19765) (tack till @josea!))
- Tillåt kombination av -Skipoch-SkipLastparametrar iSelect-Objectcmdlet. (#18849) (Tack @ArmaanMcleod!)
- Lägg till Get-SecureRandomcmdlet (#19587)
- 
              Set-Clipboard -AsOSC52för fjärranvändning (#18222) (tack @dkaszews!)
- Påskynda Resolve-Pathrelativ sökvägsupplösning (#19171) (Tack @MartinGC94!)
- Lade till växelparametern -CaseInsensitivetillSelect-ObjectochGet-Uniquecmdlets (#19683) (tack @ArmaanMcleod!)
- 
              Restart-ComputerochStop-Computerska ge ett felmeddelande när de inte körs via sudo på Unix (#19824)
Motorförbättringar
Uppdateringar av $PSStyle
- Lägger till egenskaperna Dim och DimOff (#18653)
- Statiska metoder har lagts till i klassen PSStyle som mappar förgrunds- och bakgrundsvärden ConsoleColor värden till ANSI-escapesekvenser (#17938)
- Tabellrubriker för beräknade fält formateras som standard i kursiv stil
- Lägg till stöd för att respektera $PSStyle.OutputRenderingpå fjärrvärden (#19601)
- Uppdaterade telemetridata med användning av CrescendoBuiltmoduler (#20371)
Andra motoruppdateringar
- Flytta .NET-metodanropsloggning till efter att den nödvändiga typkonverteringen har gjorts för metodargument (#25568)
- Återgång till AppLocker efter WldpCanExecuteFile (#25229)
- Gör PowerShell-klassen inte associerad med Runspace när du deklarerar attributet NoRunspaceAffinity(#18138)
- Lägg till attributet ValidateNotNullOrWhiteSpace(#17191) (tack @wmentha!)
- Lägg till sqlcmdi listan för att skicka äldre argument (#18559)
- Lägg till funktionen cd~(#18308) (Tack @GigaScratch!))
- Åtgärda parsning av arraytyp i generiska typer (#19205) (Tack @MartinGC94!)
- Åtgärda wildcard-geuppning i roten av enhetssökvägar (#19442) (Tack till @MartinGC94!))
- Lägg till ett offentligt API för att hämta platser för PSModulePath-element (#19422)
- Korrigera felaktig sträng-till-typkonvertering (#19560) (Tack @MartinGC94!))
- Åtgärda långsam körning när många brytpunkter används (#14953) (tack @nohwnd!))
- Ta bort kod som rör #Requires -PSSnapin(#19320)
Experimentella funktioner
PowerShell 7.4 introducerar följande experimentella funktioner:
- 
              PSFeedbackProvider – Ersätter ramverket för hårdkodade förslag med en utökningsbar feedbackleverantör.
- Den här funktionen lägger också till egenskaperna FeedbackName, FeedbackTextoch FeedbackAction till $PSStyle.Formattingsom gör att du kan ändra formateringen för feedbackmeddelanden.
 
- Den här funktionen lägger också till egenskaperna FeedbackName, FeedbackTextoch FeedbackAction till 
- PSModuleAutoLoadSkipOfflineFiles – Modulidentifiering hoppar nu över filer som markeras av molnleverantören som inte är fullt lagrade på disken.
- PSCommandWithArgs – Lägg till stöd för att skicka argument till kommandon som en enda sträng
Följande experimentella funktioner blev vanliga:
- PSConstrainedAuditLogging
- PSCustomTableHeaderLabelDecoration
- PSNativeCommandErrorActionPreference
- PSNativeCommandPreserveBytePipe
- PSWindowsNativeCommandArgPassing
PowerShell 7.4 ändrade följande experimentella funktioner:
- PSCommandNotFoundSuggestion – Den här funktionen använder nu en utökningsbar feedbackprovider i stället för hårdkodade förslag (#18726)
Mer information om experimentella funktioner finns i Använda experimentella funktioner.