PowerShell Core 6.0: Restart nebo Refresh?

Finální a podporovaný PowerShell Core verze 6.0 je zde. Co to znamená pro správce, kteří PowerShell používají pro své každodenní úlohy a automatizaci?

Odkaz na vydání směřuje na GitHub. Ano, nová verze je Open Source. Nejen. Obsahuje nemálo zásadních novinek a změn jako je podpora Docker.

Především je ale určena pro všechny hlavní platformy operačních systémů! Funguje tedy na Microsoft Windows, Apple macOS a předních Linux distribucích!

Windows PowerShell?

Jaký je tedy rozdíl mezi Windows PowerShell a PowerShell Core?

Windows PowerShell

  • Vybudován nad .NET Framework (označován jako FullCLR)
  • Dostupný pouze nad Windows
  • Vestavěná komponenta klientských i serverových Windows
  • V systému běží jako powershell.exe
  • Proměnná $PSVersionTable.PSEdition nastavená jako Desktop
  • Používán PowerShell ISE jako editor
  • Podporován dále jen po stránce kritických oprav v rámci aktuálních sestavení Windows

PowerShell Core

  • Vybudován nad .NET Core (označován jako CoreCLR)
  • Dostupný pro Windows, macOS a Linux
  • Dostupný ke stažení jako instalátor či distribuční balíček
  • Není vestavěn do žádné klientské ani serverové verze Windows
  • V systému běží jako pwsh.exe na Windows či jako pwsh na ostatních platformách
  • Proměnná $PSVersionTable.PSEdition je nastavena jako Core
  • Používáno Visual Studio Code jako editor
  • Podporován, rozvíjen, vylepšován, budoucnost

Poznámka: Pro Windows Nano Server byla vydána speciální verze PowerShell Core.

Což znamená?

Všechny skripty budou v původní edici fungovat beze změny a stále dále. Nové funkce a stejně tak jednotlivé moduly pro správu se z většiny přesunou do edice nové. Pokud nyní začínáte s automatizací, psaním skriptů, nepoužíváte jen Windows, poohlédněte se po PowerShell Core.

PowerShell Core lze instalovat vedle Windows PowerShell a nijak neovlivňují svojí funkčnost. Pro novou verzi lze využít také galerie, do které je publikováno nemálo nových příkazů a celých modulů.

V současné době nejsou a nemusí být některé integrované moduly Windows PowerShell určené pro správu OS Windows dostupné. Stejně tak jednotlivé moduly určené pro správu například Exchange či SCCM musí být upraveny jejich vývojovými týmy v budoucnu. Podporován je například ovšem Azure modul doručovány právě přes galerii modulů a skriptů.

Stejně tak zatím není možné spouštět Desired State Configuration zdroje, používat WMIv1 příkazy či standardní workflow. Nový PowerShell lze ovládat také vzdáleně a to i pomocí SSH.

Podrobné informace hledejte v článku PowerShell Core 6.0: Generally Available (GA) and Supported!

- Petr Vlk (MVP, KPCS CZ, WUG)