Sdílet prostřednictvím


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
    • Podpora pro vylepšené předávání argumentů nativních 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í povýšených do hlavních 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.

Informace o up-to-date o podporovaných operačních systémech a životním cyklu podpory najdete v životního cyklu 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žby Windows Update (WU), ať už se jedná o Windows Update pro firmy, WSUS, SCCM nebo interaktivní dialogové okno 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řihlásit se k aktualizaci prostřednictvím služby Microsoft Update nebo WSUS
  • ENABLE_MU
    • 1 (výchozí) – Výslovný souhlas s používáním služby Microsoft Update pomocí automatických aktualizací nebo služby Windows Update
    • 0 – nerozhodnout se pro používání služby Microsoft Update, automatických aktualizací ani služby Windows Update

Experimentální funkce

V této verzi se následující experimentální funkce staly běžnými funkcemi:

  • Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck - nahledněte na Import-PowerShellDataFile
  • Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace
  • PSAnsiRendering – viz about_ANSI_Terminals
  • PSAnsiProgress – viz o_ANSI_Terminálech
  • PSCultureInvariantReplaceOperator
  • PSNotApplyErrorActionToStderr
  • PSUnixFileStat

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

  • PSNativeCommandArgumentPassing – pokud je tato experimentální funkce povolená, PowerShell používá vlastnost ArgumentList objektu StartProcessInfo objektu, nikoli náš aktuální mechanismus 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 – Povolí barevné přizpůsobení informací o souboru pomocí ANSI.

  • 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í pomocí Tab

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 automatického doplňování pro nelokalizovaná témata začínající na 'about*' (#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řidat dokončování pro příkazy Requires (#14596) (Díky @MartinGC94))
  • Přidáno dokončování tabulátoru pro parametr View rutin Format-* (#14513) (Děkujeme @iSazonov))

PSReadLine 2.1 Predictive IntelliSense

PSReadLine 2.1 zavedla rozhraní API CommandPrediction, která vytvářejí architekturu pro poskytování předpovědí pro doplň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 na Galerie PowerShell. To umožňuje, aby modul PSDesiredStateConfiguration byl vyvinut nezávisle na PowerShell a uživatelé mohou flexibilně pracovat s různými verzemi PowerShell a PSDesiredStateConfiguration pro své prostředí. Instalace PSDesiredStateConfiguration 2.0.5 z PowerShell Gallery:

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 motoru

  • Přidání LoadAssemblyFromNativeMemory funkce pro načtení sestavení do 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.
  • Vytvoření univerzálních balíčků PowerShellu pro Linux deb a RPM (#15109)
  • Experimentální funkce PSNativeCommandArgumentPassing: Použití argumentList pro nativní vyvolání spustitelného souboru (#14692)
  • Ujistěte se, že je pro všechny výstupy rutin skriptu (#12766) nastavený -PipelineVariable.
  • Generování upozornění, pokud ConvertTo-Json překročí hodnotu -Depth (#13692)
  • Odstraňte alias D přepínače -Directory CL-General #15171
  • Zlepšení detekce proměnlivých hodnotových typů (#12495)
  • Omezit New-Object v režimu NoLanguage při uzamčení (#14140)
  • Vynucení konfigurace odepření AppLocker před konfigurací obejití politiky spuštění (#15035)
  • Změňte z CodeProperty na AliasProperty, které ukazuje na (#16165)