Megosztás a következőn keresztül:


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ént begina , processés end az egyszerű erőforrás-tisztítás engedélyezéséhez (#15177)
  • A gazdagép alapértelmezett értékének $PSStyle.OutputRenderingmó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 ValidateScriptAttributebelül. (#14550) (Köszönöm @MartinGC94!)
  • A ciklusfeliratok lapkiegészítése hozzáadva (#16438) utáncontinue/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
  • 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ához pwsh 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áskor Invoke-Command (Köszönettel@dwtaber!)
  • Hozzáadás -StrictMode a szigorú mód megadásához Invoke-Command a parancs helyi meghívásakor (#16545) (Köszönet @Thomas-Yu!)
  • Blokk hozzáadása clean a szkriptblokkhoz társként begina , processés end az egyszerű erőforrás-tisztítás engedélyezéséhez (#15177)
  • Kapcsoló hozzáadása -Amended parancsmaghoz Get-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ása clean a szkriptblokkhoz társként begin, processés end 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 az Legacy argumentumátadás stílusát használják.

  • PSExec – Hozzáadja az új Switch-Process parancsmagot (alias exec) a nem Windows rendszerű rendszerek kompatibilitásának biztosításához exec .

    A PowerShell 7.3.1 egy sortörést okozó függvényre változtatta az exec aliast Switch-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.