A PowerShell 7.4 újdonságai
A PowerShell 7.4 a következő funkciókat, frissítéseket és kompatibilitástörő változásokat tartalmazza. A PowerShell 7.4 a .NET 8.0.0-ra épül.
A módosítások teljes listáját a GitHub-adattár VÁLTOZÁSNAPLÓjában találja.
Kompatibilitástörő változások
- A Nano Server Docker-lemezképek nem érhetők el ehhez a kiadáshoz
- Hozzáadta a ProgressAction paramétert a common parametershez
- Frissítsen néhány PowerShell API-t az ArgumentNullException helyett az ArgumentException elvetésére, ha az argumentum egy üres sztring (#19215) (Köszönet@xtqqczze!)
- A(z) (#19320) kód eltávolítása
#requires -pssnapin
Test-Json
Mostantól a Newtonsoft.Json.Schema helyett JsonSchema.Net használ. Ezzel a módosítássalTest-Json
már nem támogatja a régebbi 4. vázlatsémákat. (#18141) (Köszönjük @gregsdennis!) , hogy további információt talál a JSON-sémákról, lásd a JSON-séma dokumentációját .- A kimenet mostantól
Test-Connection
részletesebb információkat tartalmaz a TCP-kapcsolati tesztekről - A .NET olyan módosításokat vezetett be, amelyek érintettek
Test-Connection
. A parancsmag most hibát ad vissza azzal kapcsolatban, hogy szükség van a Linux-platformokon való használatrasudo
egyéni pufferméret használatakor (#20369) - Kísérleti funkció PSNativeCommandPreserveBytePipe már általános. A PowerShell mostantól megőrzi a byte-streamadatokat, amikor egy natív parancs stdout streamét átirányítja egy fájlba, vagy amikor bájtstream-adatokat ad egy natív parancs stdin streamjére.
- A relatív elérési utak
Resolve-Path
kezelésének módosítása a RelativeBasePath paraméter (#19755) használatakor (Köszönet @MartinGC94!) - A nem használt PSv2-kód eltávolítása – eltávolítja a TabExpansion függvényt (#18337)
Telepítőfrissítések
A Windows MSI-csomag mostantól lehetővé teszi a PowerShell-telemetria letiltását a telepítés során. További információ: Az msi-csomag telepítése a parancssorból.
A PSResourceGet és a PSReadLine frissített verziói
A PowerShell 7.4 tartalmazza a Microsoft.PowerShell.PSResourceGet 1.0.1-et. Ez a modul párhuzamosan van telepítve a PowerShellGet 2.2.5-ös és a PackageManagement 1.4.8.1-ös verzióval. További információt a Microsoft.PowerShell.PSResourceGet dokumentációjában talál.
A PowerShell 7.4 mostantól tartalmazza a PSReadLine 2.3.4-et. További információkért tekintse meg a PSReadLine dokumentációját.
Tabulátorkiegészítési fejlesztések
Sok köszönet @MartinGC94 és mások minden munkájukért, hogy javítsák a lap befejezését.
- Kijavítottuk a hibát egy üres tömbkifejezéssel rendelkező szkript első parancsának végrehajtásakor (#18355)
- Pozícióargumentum kiegészítésének javítása (#17796)
- Rangsorolja az alapértelmezett paraméterkészletet a pozícióargumentumok végrehajtásakor (#18755)
- A dinamikus paraméterek pszeudokötésének javítása (#18030)
- A kivonatolókulcsok típuskövetkezésének javítása (#17907)
- Az üres visszatérési utasítások típuskövetkezési hibájának javítása (#18351)
- Típuskövetkeztetés javítása get-random (#18972)
- Az összes hatókörváltozó típuskövetkeztetésének javítása (#18758)
- A folyamatból levont típusok számbavételének javítása (#17799)
- Kiegészítés hozzáadása értékek összehasonlításához enumeráláskor (#17654)
- Tulajdonság-hozzárendelési befejezés hozzáadása enumerálásokhoz (#19178)
- A PSCustomObject változó tulajdonságainak (#18682) befejezésének javítása
- Tagkiegészítés javítása attribútumargumentumban (#17902)
- Redundáns paraméter-aliasok kizárása a befejezési eredményekből (#19382)
- Az osztálytagok kiegészítésének javítása alaptípusú osztályok esetében (#19179)
- Kiegészítés hozzáadása kulcsszavak használatához (#16514)
- TabExpansion2 változószivárgás javítása változók végrehajtásakor (#18763)
- Változók befejezésének engedélyezése a ScriptBlock-hatókörökben (#19819)
- A foreach utasítás változójának (#19814) befejezésének javítása
- Változótípus-következtetési sorrend javítása (#18691)
- A PowerShell Enum osztály tagkiegészítésének javítása (#19740)
- Tömbkonstansok elemzésének javítása metódushívásokban lévő indexkifejezésekben (#19224)
- Az elérési út befejezésének javítása (#19489)
- Az üres szkriptbemenet (#19501) esetében a CompleteInput függvényben a kötött hiba miatt történő indexelés javítása
- Változók teljesítményének javítása (#19595)
- A korlátozott típusú változó-hozzárendelések, beágyazott kivonatolók és egyebek (#17660) kivonatolókulcs-kiegészítésének javítása
- Külső alkalmazás kimenetének következtetése sztringként (#19193)
- A paraméterek kiegészítésének frissítése az attribútumok által
ValidateRange
nem engedélyezett értékek kizárásához (#17750) (Köszönet @fflaten!). - Dinamikus paraméterkiteljesítés javítása (#19510)
- Kiegészítés hozzáadása az adatkimutatás által hozzárendelt változókhoz (#19831)
Webes parancsmag fejlesztései
Sok köszönet @CarloToso és másoknak a webes parancsmagok javításán végzett munkáért.
- A brotli (#17955) belefoglalásához javítsa ki a webes parancsmagok dekompresszióját (köszönjük)@iSazonov!)
- Webcmdlets add 308 to redirect codes and small cleanup (#18536)
- Fejezze be a folyamatjelző sáv renderelését az Invoke-WebRequestben, amikor a letöltés befejeződött vagy megszakadt (#18130)
- A webes parancsmagok újrapróbálkozási időközt kapnak a válaszfejlécekből, ha az állapotkód 429 (#18717)
- A webes parancsmagok az alapértelmezett karakterkészlet-kódolást UTF8-ra állítják be (#18219)
- WebSession.MaximumRedirection megőrzése a módosításokból (#19190)
- A WebCmdlets elemzi az XML-deklarációt a kódolási érték lekéréséhez, ha van ilyen. (#18748)
- Javítás xml -Body használatával a webcmdletekben kódolás nélkül (#19281)
- A PUT metódus viselkedésének beállítása POST one értékre a WebCmdlets alapértelmezett tartalomtípusához (#19152)
- Vegye figyelembe a ContentType-t a WebCmdlets fejléceiből (#19227)
- Az eredeti HTTP-metódus megőrzésének engedélyezése a -PreserveHttpMethodOnRedirect webes parancsmagokhoz való hozzáadásával (#18894)
- A webcmdletek hibát jelenítenek meg a https-ről http-átirányításra (#18595)
- AllowInsecureRedirect kapcsoló hozzáadása webes parancsmagokhoz (#18546)
- Részletes üzenet javítása webes parancsmagokban, ha a tartalom hossza ismeretlen (#19252)
- Hozza létre a relatív URI-t a válaszból származó hivatkozásokhoz a következőben
Invoke-WebRequest
: (#19092) - A WebCmdlets átirányításának
-CustomMethod POST
javítása (#19111) - Korábbi válasz törlése a Webcmdletsben (#19117)
- Xml- és JSON-hibák formátumának javítása
Invoke-WebRequest
(#18837) - ValidateNotNullOrEmpty hozzáadása a WebCmdlets OutFile és InFile paramétereihez (#19044)
- HttpKnownHeaderNames frissítési fejlécek listája (#18947)
Invoke-RestMethod -FollowRelLink
vesszőt tartalmazó hivatkozások javítása (#18829)- Az átirányítás és a KeepAuthorization webparancsmagokban való kezelésével kapcsolatos hiba kijavítása (#18902)
- StatusCode hozzáadása a HttpResponseExceptionhez (#18842)
- Http-állandó kapcsolatok támogatása webes parancsmagokban (#19249) (Köszönjük @stevenebutler!)
- Kis tisztítás
Invoke-RestMethod
(#19490) - A WebCmdlets részletes üzenetének továbbfejlesztése a megfelelő HTTP-verzió megjelenítéséhez (#19616)
- FileNameStar hozzáadása a MultipartFileContenthez a WebCmdletsben (#19467)
- A WebCmdlets http-állapotának javítása 409-ről 429-re, hogy újrapróbálkozási időközt kapjon az Újrapróbálkozási fejlécből. (#19622) (Köszönöm @mkht!)
- Webes parancsmagok módosítása
-TimeoutSec
-ConnectionTimeoutSeconds
és hozzáadása-OperationTimeoutSeconds
(#19558) (Köszönet @stevenebutler!) más parancsmagok - A Ctrl+c billentyűkombináció támogatása, ha a kapcsolat lefagy, miközben adatokat olvas a WebCmdletsben (#19330) (Köszönet @stevenebutler!)
- Unix domain socket támogatása a WebCmdletsben (#19343)
Egyéb parancsmagok fejlesztései
Test-Connection
Most hibát ad vissza azzal kapcsolatban, hogy linuxos platformokon kell használnisudo
egyéni pufferméret használatakor (#20369)- Kimeneti típusok hozzáadása a Formátum parancsokhoz (#18746) (Köszönjük @MartinGC94!)
- Kimeneti típusú attribútumok hozzáadása a következőhöz
Get-WinEvent
: (#17948) (Köszönjük @MartinGC94!) - Path és LiteralPath paraméterek hozzáadása a parancsmaghoz
Test-Json
(#19042) (Köszönet @ArmaanMcleod!) - NoHeader paraméter hozzáadása parancsmagokhoz és
Export-Csv
parancsmagokhoz (#19108) (KöszönetConvertTo-Csv
@ArmaanMcleod!) - Adja hozzá a Megerősítés és a WhatIf paramétereket a(z) (#18731) paraméterhez
Stop-Transcript
(Köszönjük@JohnLBevan!) - FuzzyMinimumDistance paraméter hozzáadása (
Get-Command
#18261) - Kódolási paraméter használata
ANSI
a PowerShellben (#19298) (Köszönet@CarloToso!) - Folyamat hozzáadása a(z) (#18735) fájlhoz
Copy-Item
Update-Help
most hibaüzenetet jelent, ha implicit kultúrát használ nem USA-beli rendszereken. (#17780) (Köszönöm @dkaszews!)- Nincs szükség tevékenységre befejezett állapotrekord létrehozásakor (#18474) (Köszönjük @MartinGC94!)
- Tiltsa le a parancsmag paramétereinek
Get-Content
negatív értékeit-Head
és-Tail
(#19715) (Köszönjük @CarloToso!) - Adjon meg
Update-Help
megfelelő hibát, ha a jelenlegi kultúra nincs nyelvhez társítva (#19765) (Köszönöm @josea!) - A parancsmag egyesítésének
-Skip
Select-Object
és-SkipLast
paramétereinek engedélyezése. (#18849) (Köszönöm @ArmaanMcleod!) - Parancsmag hozzáadása
Get-SecureRandom
(#19587) Set-Clipboard -AsOSC52
távoli használatra (#18222) (Köszönjük @dkaszews!)- A relatív elérési út felbontásának felgyorsítására
Resolve-Path
(#19171) (Köszönöm @MartinGC94!) - Hozzáadta a kapcsolóparamétert
-CaseInsensitive
Select-Object
ésGet-Unique
a parancsmagokat (#19683) (Köszönjük @ArmaanMcleod!) Restart-Computer
aStop-Computer
unix-on futó sudo használatával (#19824) hibával kell meghiúsulnia
Motorfejlesztések
Frissítések$PSStyle
- Dim és DimOff tulajdonságok hozzáadása (#18653)
- Statikus metódusokat adott hozzá a PSStyle osztályhoz, amelyek előtér- és háttér ConsoleColor-értékeket képeznek az ANSI-feloldósorozatokhoz (#17938)
- A számított mezők táblafejlécei alapértelmezés szerint dőlt betűvel vannak formázva
- A távoli gazdagép tiszteletben tartásának
$PSStyle.OutputRendering
támogatása (#19601) - Frissített telemetriai adatok a modulok használatához
CrescendoBuilt
(#20371)
Egyéb motorfrissítések
- Az attribútum deklarálásakor
NoRunspaceAffinity
(#18138) a PowerShell-osztály ne legyen társ a Runspace-hez - Adja hozzá az
ValidateNotNullOrWhiteSpace
attribútumot (#17191) (Köszönöm @wmentha!) - Hozzáadás
sqlcmd
az örökölt argumentum átadott listájához (#18559) - Adja hozzá a függvényt
cd~
(#18308) (Köszönjük @GigaScratch!) - Tömbtípus-elemzés javítása általános típusokban (#19205) (Köszönjük @MartinGC94!)
- Helyettesítő karakterek globbingjának javítása az eszközútvonalak gyökerében (#19442) (Köszönjük @MartinGC94!)
- Nyilvános API hozzáadása a PSModulePath-elemek helyének lekéréséhez (#19422)
- Helytelen sztring kijavítása a típuskonvertáláshoz (#19560) (Köszönjük @MartinGC94!)
- Kijavíthatja a lassú végrehajtást, ha sok töréspontot használ (#14953) (Köszönöm @nohwnd!)
- A(z) (#19320) kód eltávolítása
#requires -pssnapin
Kísérleti funkciók
A PowerShell 7.4 a következő kísérleti funkciókat mutatja be:
- PSFeedbackProvider – Lecseréli a kemény kóddal ellátott javaslati keretrendszert egy bővíthető visszajelzési szolgáltatóra.
- Ez a funkció hozzáadja a FeedbackName, a FeedbackText és a FeedbackAction tulajdonságokat
$PSStyle.Formatting
is, amelyek lehetővé teszik a visszajelzési üzenetek formázásának módosítását.
- Ez a funkció hozzáadja a FeedbackName, a FeedbackText és a FeedbackAction tulajdonságokat
- PSModuleAutoLoadSkipOfflineFiles – A modulfelderítés mostantól kihagyja a felhőszolgáltatók által nem teljes lemezként megjelölt fájlokat.
- PSCommandWithArgs – Az argumentumok parancsoknak egyetlen sztringként való átadásának támogatása
A következő kísérleti funkciók váltak általánossá:
- PSConstrainedAuditLogging
- PSCustomTableHeaderLabelDecoration
- PSNativeCommandErrorActionPreference
- PSNativeCommandPreserveBytePipe
- PSWindowsNativeCommandArgPassing
A PowerShell 7.4 a következő kísérleti funkciókat módosította:
- PSCommandNotFoundSuggestion – Ez a funkció mostantól bővíthető visszajelzési szolgáltatót használ a nem rögzített javaslatok helyett (#18726)
A kísérleti funkciókról további információt a Kísérleti funkciók használata című témakörben talál.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: