Windows PowerShell je nedílnou součástí operačního systému Windows. Jedná se o shell příkazového řádku a skriptovací jazyk používaný k automatizaci časově náročných opakujících se úloh, vytváření vlastních nástrojů pro správu a vytváření, testování a nasazování řešení pro různé další problémy.
Výchozí verze prostředí PowerShell, která je předbalena v operačním systému Windows, je PowerShell 5.1 nebo jednoduše Windows PowerShell. Ale vzhledem k tomu, že PowerShell 7 již byl vydán a je stabilní, nemá pro OS Windows větší smysl používat nejnovější verzi PowerShellu? Jaké výhody PowerShell 7 přesto poskytuje? A vyplatí se upgrade? Pojďme si o tom promluvit!
Co je PowerShell 7?
PowerShell 7 je nejnovější LTS verze PowerShellu. Tato verze PowerShellu je vyvinuta prostřednictvím novějšího frameworku .NET Core, který umožňuje několik důležitých aktualizací, které budou užitečné uživatelům Windows.
PowerShell 7 je registrován a licencován pod licencí MIT. To je nyní open-source software, kde si lidé mohou volně prohlížet, upravovat a distribuovat vlastní kopii zdrojového kódu softwaru. Vývojáři mohou také přispívat k oficiálním vydáním PowerShellu tím, že se připojí
Oficiální stránka GitHubu PowerShellu.Díky podpoře komunity je tato verze PowerShellu nyní multiplatformní! To znamená, že jej nyní lze nainstalovat a používat na Windows, macOS a Linux. Zde je seznam podporovaných operačních systémů x64:
- Windows 8.1, 10, 11
- Windows Server 2012, 2012 R2, 2016 a 2019
- macOS 10.13+
- Red Hat Enterprise Linux (RHEL) / CentOS 7
- Fedora 30+
- Debian 9
- Ubuntu LTS 16.04+
Alpine Linux 3.8+ PowerShell 7 je také podporován v různých distribucích ARM32 a ARM64 Debian, Ubuntu a ARM64 Alpine Linux. Pro zájemce jsou k dispozici i nepodporované balíčky pro Arch a Kali Linux.
Jaké jsou nové funkce obsažené v PowerShell 7?
Kromě toho, že PowerShell 7 je multiplatformní a open source, má mnoho dalších nových funkcí, které dále zvyšují produktivitu. Zde je několik z těch pozoruhodnějších:
1. Vylepšená zpětná kompatibilita
S rozdílem v rámci budou mít verze Windows PowerShell a PowerShell využívající rámec .NET Core nekompatibilitu. Aby se lidem přechod usnadnil, PowerShell 7 nyní integruje modul WindowsCompatibility. Tento modul je navržen tak, aby umožňoval moduly prostředí Windows PowerShell a mnoho dalších populární příkazy CMD pracovat v PowerShell 7.
2. Paralelizace potrubí s pro každý objekt
PowerShell 7 má nyní parametr Parallel. V prostředí Windows PowerShell bude každý řízený objekt pomocí rutiny ForEach-Object spuštěn jeden po druhém. Ale s novým parametrem Parallel jsou nyní všechny objekty propojené potrubím prováděny současně. To výrazně zvyšuje výkon, což vám může ušetřit čas.
3. Ternární operátoři
Podmínky prostředí Windows PowerShell se provádějí prostřednictvím příkazů if-else. PowerShell 7 to ještě zjednodušuje zavedením ternárních operátorů, což jsou v podstatě zjednodušené verze příkazů if-else pomocí „?“ a „:“ v syntaxi. Tato funkce umožňuje rychlejší a čistší skriptování.
4. Operátoři potrubí
Operátoři kanálů jsou důležitou funkcí prostředí Windows PowerShell. Umožňuje vám vytvářet složité výrazy tím, že vezmete výstup z rutiny a použijete ji v jiné rutině. To je však omezené, protože prostředí Windows PowerShell nedokáže zpracovat podmíněné výrazy pomocí běžných operátorů kanálu.
PowerShell 7 řeší tento problém zavedením operátorů řetězců potrubí, kterými jsou „&&“ a „||“. Tento nový operátor kanálu umožňuje PowerShellu spouštět příkazy s podmíněnými výrazy.
Operátor && se používá k provedení příkazu pravého potrubí pouze v případě, že příkaz před operátorem je úspěšný. Zatímco operátor || provede příkaz pravého potrubí pouze v případě, že příkaz před operátorem selže.
Proč není PowerShell 7 výchozí ve Windows?
PowerShell 7 je open-source multiplatformní software, který poskytuje funkce, které mohou výrazně zlepšit výkon a rychlost skriptování. Proč z něj tedy Microsoft neučiní výchozí prostředí PowerShell ve Windows?
Aktuální PowerShell, který je předinstalován s novějšími systémy Windows, je PowerShell 5.1. Toto je poslední verze PowerShellu, která používá rozhraní .NET. Ačkoli je pravda, že jeho následující verze poskytují lepší funkce, Windows PowerShell má stále jednu výhodu, kterou novější PowerShell nemá – úplnou zpětnou kompatibilitu.
První PowerShell byl vydán 14. listopadu 2006. To bylo, když Windows Vista a XP byly stále nejnovějšími OS Windows. Podle výzkum z enlyftJen ve Spojených státech je více než 46 000 společností, které stále používají Windows XP. Tyto společnosti jednoduše nemohou upgradovat na nejnovější PowerShell, protože by to způsobilo spoustu problémů se zpětnou nekompatibilitou i s integrovaným modulem Windows Compatibility PowerShell 7.
Pro velké společnosti a různé kritické infrastruktury (bankomaty, dodavatelé energie, železnice, nemocnice atd.) zpoždění služba na týdny až měsíce, jen aby bylo možné znovu sestavit, otestovat a nasadit skripty, které již fungovaly s PowerShell 5.1, prostě není volba. Nevadí všechny chyby, které se mohou objevit během skutečné provozní doby.
Protože PowerShell 5.1 je nejnovější PowerShell postavený na. NET, je zaručeno, že bude fungovat se všemi předchozími verzemi PowerShellu, dokonce i s tou vydanou v roce 2006.
Měli byste upgradovat na PowerShell 7?
PowerShell 7 přináší mnoho užitečných aktualizací, které díky podpoře mezi platformami usnadňují, zrychlují a usnadňují práci s příkazovým řádkem a skriptování. Naproti tomu Windows PowerShell poskytuje úplnou zpětnou kompatibilitu se všemi staršími PowerShell před PowerShell 6. Měli byste tedy nadále používat Windows PowerShell nebo upgradovat na novější PowerShell 7?
Dobrá věc na PowerShell 7 je, že byl navržen tak, aby koexistoval s Windows PowerShell 5.1. Kromě integrovaného modulu Windows Compatibility, PowerShell 7 také poskytuje samostatnou instalační cestu, název spustitelného souboru, cestu PSModulePath a protokoly událostí, aby bylo zajištěno, že nenaruší již nainstalovaný systém Windows PowerShell.
Takže pro velkou většinu lidí, kteří chtějí vyzkoušet nové funkce PowerShellu 7, to jistě mohou udělat při zachování výchozího prostředí Windows PowerShell. Pokud jste zvědaví, zda je novější PowerShell pro vás, pak byste měli určitě vyzkoušet novější PowerShell.
Přestože PowerShell 7 poskytuje dobrou zpětnou kompatibilitu, vždy budou existovat určité nesrovnalosti kvůli jejich rozdílům v rámci. Pokud pracujete ve společnosti nebo organizaci, která silně spoléhá na vlastní nástroje a programy vytvořené z prostředí Windows PowerShell, nemusí být migrace firemního systému na PowerShell 7 dobrý nápad.
PowerShell 7 poskytl spoustu aktualizací, ale také vypustil několik starších modulů a rutin. Pokud jste člověk, který je již spokojen s výchozím prostředím PowerShell, pak opravdu není důvod migrovat, zvláště pokud nemáte čas číst dokumentaci.
PowerShell 7 zrychluje skriptování
PowerShell 7 je jedna z nejnovějších stabilních verzí PowerShellu s dlouhodobou podporou (LTS). Poskytuje rychlejší a jednodušší způsob, jak používat PowerShell, i když používáte jiné operační systémy, jako je macOS nebo Linux. I když přečtení dokumentace může chvíli trvat, nakonec ušetříte více času, jakmile si osvojíte nové aktualizace.