Vývojáři společnosti Microsoft nedávno v blogovém příspěvku oznámili vydání finální verze PowerShellu 7. Nyní je k dispozici pro Windows, macOS a Linux. Tato nejnovější verze obsahuje nové funkce související s podporou .NET Core a nových operátorů.
PowerShell je optimalizován pro automatizaci operací příkazového řádku a poskytuje vestavěné nástroje pro zpracování strukturovaných dat ve formátech, jako jsou JSON, CSV a XML, a také podporuje REST API a objektové modely.
Kromě příkazového shellu je nabízen objektově orientovaný skriptovací jazyk a sada utilit pro správu modulů a skriptů.
Počínaje větví PowerShell 6 byl projekt vyvinut pomocí platformy .NET Core. Ve výchozím nastavení přenáší PowerShell telemetrii s popisem operačního systému a verze programu (pro deaktivaci telemetrie musíte před spuštěním nastavit proměnnou prostředí POWERSHELL_TELEMETRY_OPTOUT = 1).
Co je nového v PowerShellu 7?
Stručně řečeno, PowerShell 7 integruje následující změny : migraci z .Net Core verze 2.x na novou verzi 3.1 a zavedení ternárních operátorů „a? b:c «, přiřazení a sloučení nul „?“ a ?? = «.
Aktualizace .Net Core 2.xa 3.1, která byla představena v této nové verzi PowerShellu 7, umožňuje větší kompatibilitu se stávajícími moduly PowerShellu pro Windows.
„Pokud jste v minulosti kvůli problémům s kompatibilitou napříč moduly nemohli používat PowerShell Core 6.x, může to být poprvé, kdy budete moci využít některé skvělé funkce, které jsme již poskytli . Od začátku projektu PowerShell Core! «, Zdůrazňuje Microsoft.
Dodává, že:
»Pasáž PowerShell Core 6.x až 7.0 také označuje naši pasáž .NET Core 2.x až 3.1.
Verze .NET Core 3.1 vrací velké množství API z .NET Frameworku (zejména ve Windows), což umožňuje mnohem větší kompatibilitu se stávajícími moduly Windows PowerShellu. Patří sem mnoho modulů Windows, které vyžadují grafické uživatelské rozhraní, jako například Out-GridView a Show-Command, a také mnoho modulů pro správu rolí, které jsou součástí Windows.
Úplný seznam podporovaných operačních systémů je nabízen jako x64 variant Windows 7, 8.1 a 10, Windows Server 2008 R2, 2012, 2012 R2, 2016 a 2019, macOS 10.13+, Red Hat Enterprise Linux (RHEL) / CentOS 7 +, Fedora 29+, Debian 9+, Ubuntu 16.04+, openSUSE 15+ a Alpine Linux 3.8+.
Podporovány jsou také verze Debianu a Ubuntu ARM32 a ARM64, stejně jako ARM64 Alpine Linux. Microsoft uvádí, že ačkoli nejsou oficiálně podporovány, existují balíčky vytvořené komunitou pro Arch a Kali Linux. PowerShell 7 je ke stažení z GitHubu a instalační dokumentace je k dispozici také pro Windows, macOS a Linux.
Microsoft se již těší na PowerShell 7.1, jehož první preview bude brzy vydáno. Do té doby se vraťme k novým funkcím, které dělají PowerShell 7 výjimečným:
- .NET Core 3.1 (LTS)
- Obálka kompatibility se systémem Windows
- oznámení o nové verzi
- nové zobrazení chyb a rutina Get-Error
- operátoři potrubních řetězů (&& a |||)
- ternární operátor (a? b: c)
- nulové operátory přiřazení a koalescence (??? a ?? =)
- cross-platform invoke-DscResource (experimentální)
- out-GridView, -ShowWindowWindow a další rutiny GUI jsou zpět ve Windows
Nakonec, pokud se chcete dozvědět více, podrobnosti naleznete na následujícím odkazu.
Jak nainstalovat PowerShell 7 na Linux?
Pro ty, kteří mají zájem o instalaci této nové verze PowerShellu do svého systému, mohou získat balíčky připravené pro různé distribuce Linuxu z následujícího odkazu.
Ačkoliv aplikaci obecně můžete nainstalovat pomocí balíčků Snap , jediným požadavkem je, aby váš systém instalaci tohoto typu balíčku podporoval a aby měl nainstalovanou danou službu.
Pro provedení instalace jednoduše otevřete terminál a spusťte následující příkaz:
snap install powershell --classic
A konečně, v případě volby balíčků speciálně sestavených pro každou distribuci.
Instalaci lze provést gestem balíčku nebo z terminálu pomocí dpkg (pro balíčky deb nebo pomocí rpm nebo dnf (pro balíčky rpm)).
Například v případě deb balíčků:
sudo dpkg -i powershell-7.0.0-1*.deb
V případě RPM v obecných distribucích s:
sudo rpm -i powershell-7.0.0-1*.rpm
Nebo v případě Fedory nebo RHEL:
sudo dnf -i powershell-7.0.0-1*.rpm