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ó, amely általánosan elterjedt, és 1 el lett 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ő változás a használhatóság javítása érdekében

A módosítások teljes listáját a Változásnapló a GitHub-adattárban című témakörben találja.

Telepítés frissítései

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 ismertető cikket.

Ú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 támogatott verzióihoz. Az univerzális telepítőcsomag nyolc különböző csomagot egyesít egybe, így egyszerűbbé teszi a Linuxon történő 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 Microsoft Update támogatása a Windowshoz

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

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 használatával történő frissítés mellett dönt
    • 0 – ne a Microsoft Update vagy a WSUS segítségével történő frissítés mellett döntsön
  • ENABLE_MU
    • 1(alapértelmezett) – A Microsoft Update automatikus Frissítések vagy Windows Update
    • 0– ne használja a Microsoft Update automatikus Frissítések vagy Windows Update

Kísérleti funkciók

A következő kísérleti funkciók már alapvető funkciók ebben a kiadásban:

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 a 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ókkal kapcsolatos további információkért lásd: Kísérleti funkciók használata.

Továbbfejlesztett lapkiegészítések

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

  • A tabulátor kitöltésének javítása a nem áthelyezett* témakörökhöz (#15265) (Köszönjük @MartinGC94)
  • A befejezéskor 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önet @MartinGC94)
  • Kiegészítés hozzáadása a Kötelező utasításokhoz (#14596) (Köszönet @MartinGC94)
  • A Format-* parancsmagok View paraméterének (#14513) lapkimenete hozzáadva (Köszönet @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ához. 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 modult a PowerShelltől függetlenül fejlesztsék, é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ítheti 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épről származó szerelvények memóriabetöltéséhez a awakecoding 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 be van állítva a szkriptparancsmagok összes kimenete (#12766)
  • Figyelmeztetés küldése, ha ConvertTo-Json meghaladja a -Depth (Mélység) értéket (#13692)
  • 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-ObjectNoLanguage módban zárolás alatt (#14140)
  • AppLocker-megtagadási konfiguráció kényszerítése végrehajtási szabályzat megkerülési konfigurációja előtt (#15035)
  • Váltás FileSystemInfo.TargetCodeProperty-rőlAliasPropertyre , amely a (#16165) karakterre FileSystemInfo.LinkTarget mutat