PowerShell vs. PowerShell Core, co musisz wiedzieć

Microsoft ogłosił ogólną dostępność PowerShell Core 6.0 10 stycznia 2018 r.

PowerShell Core to nowa wersja programu PowerShell, powłoki wiersza polecenia i języka skryptowego dostarczanego z systemem Microsoft Windows.

Wydanie PowerShell Core zwiększa liczbę wydań PowerShell do dwóch. Istnieje dziesięcioletni PowerShell, który jest zintegrowany ze wszystkimi najnowszymi wersjami systemu operacyjnego Microsoft Windows i nowym PowerShell Core.

Microsoft postrzega PowerShell Core jako ewolucję PowerShell. Ten pierwszy jest dostępny jako aplikacja wieloplatformowa, drugi tylko dla systemu Windows.

Wieloplatformowy charakter programu PowerShell Core oznacza, że ​​pisane skrypty będą działać w dowolnym obsługiwanym systemie operacyjnym. Możesz pisać skrypty PowerShell Core w systemie Windows i używać ich na obsługiwanych urządzeniach Mac OS X lub Linux. Istnieją nawet eksperymentalne (nieobsługiwane) wersje dla urządzeń ARM.

Microsoft aktywnie działa na PowerShell Core. Z drugiej strony PowerShell jest w stanie, który najlepiej można porównać do rozszerzonej obsługi wersji Windows. Microsoft nie planuje dodawać funkcji do PowerShell, ale wyda krytyczne poprawki błędów i aktualizacje zabezpieczeń.

Jednak obecnie nie ma planów wprowadzenia nowych funkcji do Windows PowerShell. Oznacza to, że ryzyko regresji będzie bardzo niskie dla Windows PowerShell, więc możesz liczyć na to, że będzie to stabilna platforma dla istniejących obciążeń.

PowerShell Core instaluje się obok siebie w systemie Windows. W skrócie: PowerShell Core nie wpływa w żaden sposób na Windows PowerShell na urządzeniach z systemem Windows.

PowerShell Core 6.0 nie jest tak potężny jak PowerShell 5.1. Jednym z głównych powodów tego jest fakt, że PowerShell ma dostęp do .NET Framework i .NET Standard, podczas gdy PowerShell Core do mniej bogatych w funkcje .NET Core i .NET Standard.

Niektóre technologie dostępne dla Windows PowerShell nie są obsługiwane przez .NET Core. Microsoft zauważa, że ​​niektóre technologie mogą powrócić w przyszłych wydaniach, ale nie będzie tak w przypadku wszystkich z nich.

Firma wspomina o przepływie pracy PowerShell, przystawkach PowerShell, cmdletach WMlv1 i konkretnym wykonaniu zasobów konfiguracji żądanego stanu. Przełomowe zmiany w dokumencie PowerShell 6.0 zawierają dalsze szczegóły.

Różnice między PowerShell i PowerShell Core

PowerShellRdzeń PowerShell
WersjeOd 1.0 do 5.16.0
PlatformyTylko Windows (klient i serwer)Windows, Mac OS, Linux
Zależność.Net Framework.Net Core
StosowanieOpiera się na środowisku uruchomieniowym .Net FrameworkOpiera się na środowisku uruchomieniowym .Net Core
Uruchomiony jakopowershell.exepwsh.exe (Windows), pwsh (Mac i Linux)
$ PSVersionTable.PSEditionUstaw na pulpitUstaw na rdzeń
Zaktualizuj zasadytylko krytyczne poprawki błędówwszystkie aktualizacje (funkcje, błędy)

Pliki do pobrania PowerShell Core

  • PowerShell Core dla Windows jest dostępny pod tym linkiem.
  • PowerShell Core dla Mac OS X i Linux jest dostępny pod tym linkiem.