Novinky v PowerShellu 7.2

PowerShell 7.2 je příští vydaná verze LTS (Long Term Servicing), která je založená na .NET 6.0.

PowerShell 7.2 obsahuje následující funkce, aktualizace a zásadní změny.

  • Nové balíčky univerzálního instalačního programu pro většinu podporovaných distribucí Linuxu
  • Podpora služby Microsoft Update ve Windows
  • 2 nové experimentální funkce
    • Vylepšená podpora předávání nativních argumentů příkazů
    • Podpora barev ANSI FileInfo
  • Vylepšené dokončování tabulátoru
  • PSReadLine 2.1 s prediktivní technologií IntelliSense
  • 7 experimentálních funkcí propagovaných na hlavní a 1 odebrané
  • Oddělení DSC od PowerShellu 7 za účelem povolení budoucích vylepšení
  • Několik zásadních změn pro zlepšení použitelnosti

Úplný seznam změn najdete v protokolu změn v úložišti GitHub.

Aktualizace instalace

Projděte si pokyny k instalaci upřednostňovaného operačního systému:

PowerShell 7.2 navíc podporuje verze ARM64 pro Windows a macOS a ARM32 a ARM64 debianu a Ubuntu.

Aktuální informace o podporovaných operačních systémech a životním cyklu podpory najdete v tématu Životní cyklus podpory PowerShellu.

Nové univerzální instalační balíčky pro linuxové distribuce

Dříve jsme vytvořili samostatné instalační balíčky pro každou podporovanou verzi CentOS, RHEL, Debian a Ubuntu. Balíček univerzálního instalačního programu kombinuje do jednoho osm různých balíčků, což usnadňuje instalaci v Linuxu. Univerzální balíček nainstaluje potřebné závislosti pro cílovou distribuci a vytvoří změny specifické pro platformu, které budou fungovat v PowerShellu.

Podpora služby Microsoft Update pro Windows

PowerShell 7.2 přidává podporu pro Microsoft Update. Když tuto funkci povolíte, získáte nejnovější aktualizace PowerShellu 7 v tradičním toku správy služba Windows Update (WU), ať už se jedná o služba Windows Update pro firmy, WSUS, SCCM nebo interaktivní dialog WU v Nastavení.

Balíček MSI PowerShellu 7.2 obsahuje následující možnosti příkazového řádku:

  • USE_MU – Tato vlastnost má dvě možné hodnoty:
    • 1 (výchozí) – Výslovný souhlas s aktualizací prostřednictvím služby Microsoft Update nebo WSUS
    • 0 – nepřijme výslovný souhlas s aktualizací prostřednictvím služby Microsoft Update nebo SLUŽBY WSUS
  • ENABLE_MU
    • 1(výchozí) – Přihlašuje se k používání služby Microsoft Update pomocí automatického Aktualizace nebo služba Windows Update
    • 0– nepřijme se k používání služby Microsoft Update automatické Aktualizace nebo služba Windows Update

Experimentální funkce

V této verzi jsou nyní hlavní funkce následujících experimentálních funkcí:

V této verzi byla přidána následující experimentální funkce:

  • PSNativeCommandArgumentPassing – Pokud je tato experimentální funkce povolena, Používá PowerShell Vlastnost ArgumentList objektu StartProcessInfo místo našeho aktuálního mechanismu rekonstruování řetězce při vyvolání nativního spustitelného souboru. Tato funkce přidá novou automatickou proměnnou $PSNativeCommandArgumentPassing , která umožňuje vybrat chování za běhu.

  • PSAnsiRenderingFileInfo - Povolit přizpůsobení barvy ANSI informací o souboru.

  • PSLoadAssemblyFromNativeCode – Zveřejňuje rozhraní API, které umožňuje načítání sestavení z nativního kódu.

Další informace o experimentálních funkcích naleznete v tématu Použití experimentálních funkcí.

Vylepšené dokončování tabulátoru

PowerShell 7.2 obsahuje několik vylepšení dokončování tabulátoru. Mezi tyto změny patří opravy chyb a zlepšení použitelnosti.

  • Oprava dokončování tabulátoru pro nelokalizovaná témata o* (#15265) (Díky @MartinGC94)
  • Oprava zpracování splattingu jako pozičního parametru při dokončování (#14623) (Díky @MartinGC94)
  • Přidání dokončování pro klíčová slova nápovědy založené na komentářích (#15337) (Díky @MartinGC94)
  • Přidání dokončování pro příkazy Requires (#14596) (Díky @MartinGC94)
  • Přidání dokončování tabulátoru pro zobrazení parametru rutin Format-* (#14513) (Díky @iSazonov)

PSReadLine 2.1 Predictive IntelliSense

PSReadLine 2.1 zavedla CommandPrediction rozhraní API, která vytvářejí architekturu pro poskytování předpovědí pro dokončování příkazového řádku. Rozhraní API umožňuje uživatelům zjišťovat, upravovat a spouštět úplné příkazy na základě odpovídajících předpovědí z historie uživatele.

Prediktivní technologie IntelliSense je ve výchozím nastavení zakázaná. Pokud chcete povolit predikce, spusťte následující příkaz:

Set-PSReadLineOption -PredictionSource History

Oddělení DSC od PowerShellu 7 za účelem povolení budoucích vylepšení

Modul PSDesiredStateConfiguration byl odebrán z balíčku PowerShellu 7.2 a je nyní publikován do Galerie prostředí PowerShell. To umožňuje, aby modul PSDesiredStateConfiguration byl vyvinut nezávisle na PowerShellu a uživatelé mohou kombinovat a odpovídat verzím PowerShellu a PSDesiredStateConfiguration pro své prostředí. Instalace PSDesiredStateConfiguration 2.0.5 z Galerie prostředí PowerShell:

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

Důležité

Nezapomeňte zahrnout parametr MaximumVersion nebo můžete nainstalovat verzi 3 (nebo vyšší) PSDesireStateConfiguration, která obsahuje významné rozdíly.

Aktualizace modulu

  • Přidání LoadAssemblyFromNativeMemory funkce pro načtení sestavení v paměti z nativního hostitele PowerShellu vzhůru · Žádost o přijetí změn č. 14652

Zásadní změny a vylepšení

  • Z balíčku PowerShellu 7.2 byla odebrána konfigurace PSDesiredStateConfiguration.
  • Nastavení univerzálních balíčků PowerShellu pro Linux a RPM (#15109)
  • Experimentální funkce PSNativeCommandArgumentPassing: Použití ArgumentList pro nativní vyvolání spustitelného souboru (#14692)
  • Ujistěte se -PipelineVariable , že je nastavený pro všechny výstupy rutin skriptu (#12766).
  • Vygenerování upozornění, pokud ConvertTo-Json překročí hodnotu -Depth (#13692)
  • Odebrání aliasu D přepínače adresáře CL-General #15171
  • Zlepšení detekce proměnlivých hodnotových typů (#12495)
  • Omezit New-Object v režimu NoLanguage v uzamčení (#14140)
  • Vynucení konfigurace odepření AppLockeru před konfigurací vynechat zásady spouštění (#15035)
  • Změna FileSystemInfo.Target z CodeProperty na AliasProperty , která odkazuje na FileSystemInfo.LinkTarget (#16165)