A PowerShell 7.2 újdonságai

A PowerShell 7.2 a következő hosszú távú karbantartási (LTS) kiadás, amely a .NET 6.0-ra épül.

A PowerShell 7.2 a következő funkciókat, frissítéseket és kompatibilitástörő módosításokat tartalmazza.

  • Új univerzális telepítőcsomagok a legtöbb támogatott Linux-disztribúcióhoz
  • Microsoft Update-támogatás Windows rendszeren
  • 2 új kísérleti funkció
    • Továbbfejlesztett natív parancsargumentumok támogatása
    • ANSI FileInfo színtámogatás
  • Továbbfejlesztett lapkiegészítések
  • PSReadLine 2.1 prediktív IntelliSense-vel
  • 7 kísérleti funkció, amelyek általánosan elterjedtek, és 1 el lettek távolítva
  • A DSC leválasztása a PowerShell 7-ről a jövőbeli fejlesztések engedélyezéséhez
  • Számos kompatibilitástörő módosítás a használhatóság javítása érdekében

A módosítások teljes listájáért tekintse meg a Változásnaplót a GitHub-adattárban.

Telepítési frissítések

Ellenőrizze az előnyben részesített operációs rendszer telepítési utasításait:

Emellett a PowerShell 7.2 támogatja a Windows és a macOS ARM64-verzióit, valamint a Debian és az Ubuntu ARM32 és ARM64 verzióit.

A támogatott operációs rendszerekkel és a támogatási életciklussal kapcsolatos naprakész információkért tekintse meg a PowerShell támogatási életciklusát.

Új univerzális telepítési csomagok Linux-disztribúciókhoz

Korábban külön telepítőcsomagokat hoztunk létre a CentOS, az RHEL, a Debian és az Ubuntu minden támogatott verziójához. Az univerzális telepítőcsomag nyolc különböző csomagot egyesít egybe, ami egyszerűbbé teszi a linuxos telepítést. Az univerzális csomag telepíti a célterjesztéshez szükséges függőségeket, és létrehozza a platformspecifikus módosításokat a PowerShell működéséhez.

A Windows Microsoft Update támogatása

A PowerShell 7.2 támogatja a Microsoft Update-et. Ha engedélyezi ezt a funkciót, a hagyományos Windows Update (WU) felügyeleti folyamat legújabb PowerShell 7-frissítéseit fogja megkapni, legyen szó a Windows Update vállalati verzióról, a WSUS-ról, az SCCM-ről vagy a Gépház interaktív WU-párbeszédpaneljéről.

A PowerShell 7.2 MSI-csomag a következő parancssori beállításokat tartalmazza:

  • USE_MU - Ez a tulajdonság két lehetséges értékkel rendelkezik:
    • 1 (alapértelmezett) – A Microsoft Update vagy a WSUS frissítését választja
    • 0 – ne válasszon a Microsoft Update vagy a WSUS segítségével történő frissítés mellett
  • ENABLE_MU
    • 1(alapértelmezett) – A Microsoft Update automatikus Frissítések vagy Windows Update használatát választja
    • 0– ne használja a Microsoft Update automatikus Frissítések vagy Windows Update szolgáltatását

Kísérleti funkciók

A következő kísérleti funkciók mostantól általános funkciók ebben a kiadásban:

  • Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck - lásd: Import-PowerShellDataFile
  • Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace
  • PSAnsiRendering - lásd: about_ANSI_Terminals
  • PSAnsiProgress - lásd: about_ANSI_Terminals
  • PSCultureInvariantReplaceOperator
  • PSNotApplyErrorActionToStderr
  • PSUnixFileStat

Ebben a kiadásban a következő kísérleti funkció lett hozzáadva:

  • PSNativeCommandArgumentPassing – Ha ez a kísérleti funkció engedélyezve van, a PowerShell a StartProcessInfo objektum ArgumentList tulajdonságát használja ahelyett, hogy egy natív végrehajtható fájl meghívásakor egy sztringet rekonstruálná. Ez a funkció egy új automatikus változót $PSNativeCommandArgumentPassing ad hozzá, amely lehetővé teszi, hogy futásidőben válassza ki a viselkedést.

  • PSAnsiRenderingFileInfo – A fájladatok ANSI-színének testreszabásának engedélyezése.

  • PSLoadAssemblyFromNativeCode – Egy API-t tesz elérhetővé, amely lehetővé teszi a szerelvény natív kódból való betöltését.

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.

Továbbfejlesztett lapkiegészítések

A PowerShell 7.2 számos fejlesztést tartalmaz a tabulátor befejezéséhez. Ezek a módosítások közé tartoznak a hibajavítások és a használhatóság javítása.

  • Kijavítottuk a tabulátorkiegészítést* témakörökben (#15265) (Köszönjük @MartinGC94)
  • A teljesítés során pozícióparaméterként kezelt splatting javítása (#14623) (Köszönjük @MartinGC94)
  • Kiegészítések hozzáadása megjegyzésalapú súgószavakhoz (#15337) (Köszönöm @MartinGC94)
  • Kiegészítés hozzáadása kötelező utasításokhoz (#14596) (Köszönöm @MartinGC94)
  • A Format-* parancsmagok View paraméterének (#14513) lapkimenete hozzáadva (Köszönöm @iSazonov)

PSReadLine 2.1 Prediktív IntelliSense

A PSReadLine 2.1 olyan API-kat vezetett CommandPrediction be, amelyek keretrendszert hoznak létre a parancssori befejezésre vonatkozó előrejelzések biztosítására. Az API lehetővé teszi a felhasználók számára a teljes parancsok felderítését, szerkesztését és végrehajtását a felhasználó előzményeinek megfelelő előrejelzések alapján.

A prediktív IntelliSense alapértelmezés szerint le van tiltva. Az előrejelzések engedélyezéséhez futtassa a következő parancsot:

Set-PSReadLineOption -PredictionSource History

A DSC leválasztása a PowerShell 7-ről a jövőbeli fejlesztések engedélyezéséhez

A PSDesiredStateConfiguration modul el lett távolítva a PowerShell 7.2-csomagból, és most közzé lett téve a PowerShell-galéria. Ez lehetővé teszi, hogy a PSDesiredStateConfiguration modul a PowerShelltől függetlenül legyen fejlesztve, és a felhasználók a PowerShell és a PSDesiredStateConfiguration verzióit vegyíthetik és egyeztethetik a környezetükhöz. A PSDesiredStateConfiguration 2.0.5 telepítése a PowerShell-galéria:

Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99

Fontos

Ügyeljen arra, hogy tartalmazza a MaximumVersion paramétert, vagy telepítse a PSDesireStateConfiguration 3- (vagy újabb) verzióját, amely jelentős különbségeket tartalmaz.

Motorfrissítések

  • Függvény hozzáadása LoadAssemblyFromNativeMemory a natív PowerShell-gazdagépből származó szerelvények memóriába való betöltéséhez az ébrenlét használatával · Lekéréses kérelem #14652

Kompatibilitástörő változások és fejlesztések

  • A PSDesiredStateConfiguration el lett távolítva a PowerShell 7.2-csomagból
  • PowerShell Linux deb- és RPM-csomagok univerzálissá tétele (#15109)
  • Kísérleti funkció PSNativeCommandArgumentPassing: Az Argumentumlista használata natív végrehajtható híváshoz (#14692)
  • Győződjön meg arról, hogy -PipelineVariable a parancsmagok összes kimenete be van állítva (#12766)
  • Figyelmeztetés küldése, ha ConvertTo-Json meghaladja a -Depth (#13692) értéket
  • A -Directory kapcsoló D aliasának eltávolítása CL-General #15171
  • A mutable értéktípusok észlelésének javítása (#12495)
  • Korlátozás New-Object NoLanguage módban zárolás alatt (#14140)
  • Az AppLocker megtagadási konfigurációjának kényszerítése a végrehajtási szabályzat megkerülési konfigurációja előtt (#15035)
  • Váltás FileSystemInfo.Target CodeProperty-rőlaliaspropertyre, amely a FileSystemInfo.LinkTarget (#16165)