A PowerShell 7.3 újdonságai
A PowerShell 7.3 a következő stabil kiadás, amely a .NET 7.0-ra épül.
A PowerShell 7.3 a következő funkciókat, frissítéseket és kompatibilitástörő változásokat tartalmazza.
Kompatibilitástörő változások és fejlesztések
- Ebben a kiadásban a Windows API-kat frissítettük vagy eltávolítottuk a megfelelőség érdekében, ami azt jelenti, hogy a PowerShell 7.3 nem fut Windows 7-en. Bár a Windows 7 már nem támogatott, a korábbi buildek Windows 7 rendszeren is futtathatók.
- A Hyper-V-hez készült PowerShell Direct csak a Windows 10 1809-es és újabb verzióiban támogatott.
Test-Connection
a .NET 7 szándékos törésváltozása miatt megszakadt. Nyomon követi a #17018- Blokk hozzáadása
clean
a szkriptblokkhoz társkéntbegin
a ,process
ésend
az egyszerű erőforrás-tisztítás engedélyezéséhez (#15177) - A gazdagép alapértelmezett értékének
$PSStyle.OutputRendering
módosítása - Sztringbevitel változatlanul
Out-String
tartása (#17455)Out-File
- Helyezze át a System.Security.AccessControl.ObjectSecurity típusadat-definícióját a Microsoft.PowerShell.Security modulba (#16355) (Köszönjük @iSazonov!)
- A módosítás előtt a felhasználónak nem kell explicit módon importálnia a Microsoft.PowerShell.Security modult a System.Security.AccessControl.ObjectSecurity példányhoz definiált kódtulajdonságok használatához.
- A módosítás után a felhasználónak explicit módon kell importálnia a Microsoft.PowerShell.Security modult a kódtulajdonságok és a kód metódusainak használatához.
Tabulátorkiegészítési fejlesztések
- A PowerShell 7.3 tartalmazza a PSReadline 2.2.6-ot, amely alapértelmezés szerint lehetővé teszi a prediktív IntelliSense használatát. További információ: about_PSReadLine.
- A lapkiegészítés javítása a parancsprogramhoz megadott blokkon
ValidateScriptAttribute
belül. (#14550) (Köszönöm @MartinGC94!) - A ciklusfeliratok lapkiegészítése hozzáadva (#16438) után
continue
/break
(Köszönöm@MartinGC94!) - A kivonatoló befejezésének javítása több forgatókönyvben (#16498) (Köszönjük @MartinGC94!)
- Paraméter splatting
- Argumentumparaméter a következőhöz:
Invoke-CimMethod
- FilterHashtable paraméter a következőhöz:
Get-WinEvent
- A CIM-parancsmagok tulajdonságparamétere
- Ismétlődő elemek eltávolítása a tagkiegészítési forgatókönyvekből
- Perjelek támogatása a hálózati megosztás (UNC-elérési út) befejezésében (#17111) (Köszönjük @sba923!)
- Tag automatikus kiegészítésének javítása (#16504) (Köszönöm @MartinGC94!)
- A ValidateSet-kiegészítések rangsorolása enumerálásokkal szemben paraméterek esetén (#15257) (Köszönet @MartinGC94!)
- Típuskövető támogatás hozzáadása általános metódusokhoz típusparaméterekkel (#16951) (Köszönjük @MartinGC94!)
- Típuskövetkeztetés és kiegészítések javítása (#16963) (Köszönjük @MartinGC94!)
- Lehetővé teszi, hogy a metódusok megjelenjenek a befejezési eredmények között:
ForEach-Object -MemberName
- Megakadályozza a befejezést olyan kifejezéseken, amelyek érvénytelennek tűnnek, mint
([void](""))
- Lehetővé teszi, hogy a nem alapértelmezett osztálykonstruktorok megjelenjenek, ha az osztály befejezése az AST-n alapul
- Lehetővé teszi, hogy a metódusok megjelenjenek a befejezési eredmények között:
- A (#17716) típuskövető
$_
teljesítményének javítása (Köszönöm@MartinGC94!) - Az ICollection (#17752) típuskövetkeztetésének javítása (Köszönet@MartinGC94!)
- A kapcsos zárójelek eltávolításának megakadályozása változók végrehajtásakor (#17751) (Köszönöm @MartinGC94!)
- Kiegészítés hozzáadása szótárak indexkifejezéseihez (#17619) (Köszönet @MartinGC94!)
- Attribútum-jogkivonatok típuskiegészítésének javítása (#17484) (Köszönjük @MartinGC94!)
- Dinamikus paraméterlap teljesítményének javítása (#17661) (Köszönet @MartinGC94!)
- Kerülje a kötési pozícióparamétereket a paraméter érték előtti kitöltésekor (#17693) (Köszönjük @MartinGC94!)
Továbbfejlesztett hibakezelés
- A parancskifejezés helyes beállítása
$?
átirányításokkal (#16046) - Öntvényhibák kijavítása a (#15993) használatakor
$PSNativeCommandUseErrorActionPreference
- Natív parancshibák kezelése igény szerint (
ErrorActionPreference
#15897) - Adja meg a végrehajtható elérési utat
TargetObject
az ErrorRecord (#16108) kilépési kódhoz hasonlóan (Köszönet @rkeithhill!)
Munkamenet- és újraegyezés fejlesztései
- Adja hozzá
-Options
a PSRP-t SSH-parancsokon keresztül, hogy közvetlenül engedélyezze az OpenSSH-beállítások átadását (#12802) (Köszönöm @BrannenGH!) - Paraméter hozzáadása
-ConfigurationFile
új folyamat indításáhozpwsh
a fájlban definiált.pssc
munkamenet-konfigurációval (#17447) - Támogatás hozzáadása nem Windows-platformokon való használathoz
New-PSSessionConfigurationFile
(#17447)
Frissített parancsmagok
- Paraméter hozzáadása
-HttpVersion
webes parancsmagokhoz (#15853) (Köszönet @hayhay27!) - Webes parancsmagok támogatása nyílt végű beviteli címkékhez (#16193) (Köszönjük @farmerau!)
- Javítás
ConvertTo-Json -Depth
100 maximális engedélyezéséhez (#16197) (Köszönöm @KevRitchie!)@rkeithhill!) - A változók kezelésének javítása a
$using:
kifejezéssel (#16113) való híváskorInvoke-Command
(Köszönettel@dwtaber!) - Hozzáadás
-StrictMode
a szigorú mód megadásáhozInvoke-Command
a parancs helyi meghívásakor (#16545) (Köszönet @Thomas-Yu!) - Blokk hozzáadása
clean
a szkriptblokkhoz társkéntbegin
a ,process
ésend
az egyszerű erőforrás-tisztítás engedélyezéséhez (#15177) - Kapcsoló hozzáadása
-Amended
parancsmaghozGet-CimClass
(#17477) (Köszönet @iSazonov) - Módosítottuk
ConvertFrom-Json -AsHashtable
a rendezett kivonatoló használatára (#17405) - Sztringekben eltávolított ANSI-feloldási sorozatok a(z) (#17664) címre való küldés
Out-GridView
előtt - Hozzáadta az ezredmásodperc paramétert a(z) (#17621) paraméterhez
New-TimeSpan
(Köszönöm@NoMoreFood!) - Választható paraméterek megjelenítése metódusdefiníciók és túlterhelések megjelenítésekor (#13799) (Köszönjük @eugenesmlv!)
- A parancsok még akkor is végrehajthatók, ha az aktuális munkakönyvtár már nem létezik (#17579)
- HTTPS-támogatás hozzáadása a (#16134) használatával
Set-AuthenticodeSignature -TimeStampServer
(Köszönjük@Ryan-Hutchison-USAF!) - Decimális számok megjelenítése egy táblában az aktuális kultúra használatával (#17650)
- Adja hozzá az OrderedDictionary (#17804) típusgyorsítót (Köszönjük @fflaten!)
- Hozzáadás
find.exe
régi argumentumkötési viselkedéshez Windows esetén (#17715) - Kapcsoló hozzáadása
-noprofileloadtime
a pwsh-hez (#17535) (Köszönöm @rkeithhill!)
A módosítások teljes listájáért tekintse meg a Változásnaplót a GitHub-adattárban.
Kísérleti funkciók
A PowerShell 7.3-ban a következő kísérleti funkciók váltak általánossá:
PSAnsiRenderingFileInfo
– Ez a funkció hozzáadja a$PSStyle.FileInfo
tagot, és lehetővé teszi bizonyos fájltípusok színezését.PSCleanBlock
– Blokk hozzáadásaclean
a szkriptblokkhoz társkéntbegin
,process
ésend
lehetővé teszi az egyszerű erőforrás-törlést.PSAMSIMethodInvocationLogging
- Kibővíti az AMSI-nek vizsgálatra küldött adatokat, hogy az tartalmazza a .NET-metódustagok összes meghívását.PSNativeCommandArgumentPassing – A PowerShell most a StartProcessInfo objektum ArgumentList tulajdonságát használja a régi mechanizmus helyett, amely egy natív végrehajtható fájl meghívásakor egy sztringet rekonstruál.
A PowerShell 7.3.1 hozzáadja a Windows natív parancsainak
sqlcmd.exe
listáját, amelyek azLegacy
argumentumátadás stílusát használják.PSExec
– Hozzáadja az újSwitch-Process
parancsmagot (aliasexec
) a nem Windows rendszerű rendszerek kompatibilitásának biztosításáhozexec
.A PowerShell 7.3.1 egy sortörést okozó függvényre változtatta az
exec
aliastSwitch-Process
. A függvény lehetővé teszi, hogy olyan paramétereket adjon át a natív parancsnak, amelyek hibásan kötődhetnek a WithCommand paraméterhez.
A PowerShell 7.3 a következő kísérleti funkciókat mutatja be:
- PSNativeCommandErrorActionPreference – Hozzáadja a
$PSNativeCommandUseErrorActionPreference
változót, hogy a natív parancsok által létrehozott hibák PowerShell-hibák legyenek.
A PowerShell 7.3 eltávolította a következő kísérleti funkciókat:
PSNativePSPathResolution
kísérleti funkció már nem támogatott.PSStrictModeAssignment
kísérleti funkció már nem támogatott.
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.