Co je nového v PowerShellu 7,2

PowerShell 7,2 je další vydaná verze LTS (dlouhodobá údržba) je postavená na rozhraní .NET 6,0.

Prostředí PowerShell 7,2 obsahuje následující funkce, aktualizace a zásadní změny.

  • Nové balíčky Universal Installer pro nejvíc podporovaná distribuce systému Linux
  • Podpora Microsoft Update Windows
  • 2 nové experimentální funkce
    • Vylepšený argument nativního příkazu, který podporuje předávání
    • Podpora barev jazyka ANSI FileInfo
  • Vylepšené dokončování karet
  • PSReadLine 2,1 s prediktivní technologií IntelliSense
  • 7 experimentální funkce, které byly povýšeny na běžný a 1.
  • Oddělení DSC od prostředí PowerShell 7 za účelem povolení budoucích vylepšení
  • Několik přerušujících změn pro zlepšení použitelnosti

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

Aktualizace instalace

Podívejte se na pokyny k instalaci preferovaného operačního systému:

kromě toho PowerShell 7,2 podporuje ARM64 verze Windows a macOS a verze ARM32 a ARM64 Debian a Ubuntu.

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

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

Dříve jsme vytvořili samostatné balíčky instalačního programu pro každou podporovanou verzi CentOS, RHEL, Debian a Ubuntu. Balíček Universal Installer kombinuje osm různých balíčků do jednoho, což usnadňuje instalaci na Linux. Univerzální balíček nainstaluje nezbytné závislosti pro cílovou distribuci a vytvoří změny specifické pro danou platformu, aby prostředí PowerShell fungovalo.

Podpora Microsoft Update Windows

PowerShell 7,2 Přidání podpory pro Microsoft Update. když tuto funkci povolíte, dostanete nejnovější aktualizace powershellu 7 v rámci tradičního 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 pro PowerShell 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ý aktualizace prostřednictvím služby Microsoft Update nebo WSUS
    • 0 – Nepoužívejte výslovný souhlas s aktualizací Microsoft Update nebo WSUS
  • ENABLE_MU
    • 1(výchozí) – výslovný k použití Microsoft Update automatické aktualizace nebo služba Windows Update
    • 0– nepoužívejte výslovný souhlas s používáním Microsoft Update automatických aktualizací nebo služba Windows Update

Experimentální funkce

V této verzi teď představují běžné funkce následující experimentální funkce:

V této verzi se přidala následující experimentální funkce:

  • PSNativeCommandArgumentPassing – Pokud je tato experimentální funkce povolená, PowerShell použije vlastnost ArgumentList objektu StartProcessInfo namísto našeho současného mechanismu rekonstrukce ř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í přizpůsobení barvy ANSI pro informace o souborech.

  • PSLoadAssemblyFromNativeCode – ZPŘÍSTUPŇUJE rozhraní API, aby bylo možné načíst sestavení z nativního kódu.

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

Vylepšené dokončování karet

Prostředí PowerShell 7,2 obsahuje několik vylepšení dokončování karet. Tyto změny zahrnují oprav a zlepšují použitelnost.

  • Opravit dokončování karet pro nemístní informace o * tématech (#15265) (děkuji @MartinGC94 )
  • Oprava seskupováním se považuje za poziční parametr po dokončeních (#14623) (děkuji @MartinGC94 ).
  • Přidat dokončování klíčových slov pro nápovědu na základě komentářů (#15337) (děkuji @MartinGC94 )
  • Přidání dokončení pro vyžadování příkazů (#14596) (děkuji @MartinGC94 )
  • Přidání doplňování tabulátoru pro parametr zobrazení rutin Format-* (#14513) (děkuji @iSazonov )

Prediktivní IntelliSense PSReadLine 2,1

PSReadLine 2,1 představil CommandPrediction rozhraní API, která vytvářejí rozhraní pro poskytování předpovědi pro dokončení příkazového řádku. Rozhraní API umožňuje uživatelům zjišťovat, upravovat a spouštět úplné příkazy založené na porovnání předpovědi z historie uživatele.

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

Set-PSReadLineOption -PredictionSource History

Oddělení DSC od prostředí PowerShell 7 za účelem povolení budoucích vylepšení

modul PSDesiredStateConfiguration byl odebrán z balíčku PowerShell 7,2 a je nyní publikován do Galerie prostředí PowerShell. Díky tomu je možné modul PSDesiredStateConfiguration vyvíjet nezávisle na PowerShellu a uživatelé můžou kombinovat verze PowerShellu a PSDesiredStateConfiguration pro své prostředí a porovnat je s nimi. instalace PSDesiredStateConfiguration 2.0.5 z Galerie prostředí PowerShell:

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

Důležité

Nezapomeňte použít parametr MaximumVersion nebo můžete nainstalovat verzi 3 (nebo vyšší) PSDesireStateConfiguration obsahující významné rozdíly.

Aktualizace modulu

  • Přidání LoadAssemblyFromNativeMemory funkce pro načtení sestavení v paměti z nativního hostitele prostředí PowerShell pomocí awakecoding · #14652 žádosti o získání dat

Průlomové změny a vylepšení

  • PSDesiredStateConfiguration se odebral z balíčku PowerShell 7,2.
  • Univerzální balíčky deb a/min. PowerShellu pro Linux (#15109)
  • Experimentální funkce PSNativeCommandArgumentPassing : použijte ArgumentList pro volání nativního spustitelného souboru (#14692)
  • Zajistěte, aby -PipelineVariable byl všechen výstup z rutin skriptu (#12766) nastaven.
  • Vygenerovat upozornění, pokud ConvertTo-Json je překročena hodnota hloubky (#13692)
  • Odebrat alias D CL-General přepínačů adresáře #15171
  • Zlepšení detekce proměnlivých hodnotových typů (#12495)
  • Omezit New-Object v nejazykovém režimu v oblasti uzamknout (#14140)
  • Vynutila konfiguraci odepření AppLockeru před konfigurací obcházení zásad spuštění (#15035)
  • Změna FileSystemInfo.Target z CodeProperty na AliasProperty , na FileSystemInfo.LinkTarget kterou odkazuje (#16165)