PowerShell vs. PowerShell Core, was Sie wissen müssen

Microsoft gab am 10. Januar 2018 die allgemeine Verfügbarkeit von PowerShell Core 6.0 bekannt.

PowerShell Core ist eine neue Version von PowerShell, einer Befehlszeilenshell und Skriptsprache, die im Lieferumfang von Microsoft Windows enthalten ist.

Mit der Veröffentlichung von PowerShell Core wird die Anzahl der PowerShell-Editionen auf zwei erhöht. Es gibt die jahrzehntealte PowerShell, die in alle aktuellen Versionen des Windows-Betriebssystems von Microsoft und in den neuen PowerShell Core integriert ist.

Microsoft sieht in PowerShell Core eine Weiterentwicklung von PowerShell. Ersteres ist als plattformübergreifende Anwendung verfügbar, letzteres nur für Windows.

Der plattformübergreifende Charakter von PowerShell Core bedeutet, dass von Ihnen geschriebene Skripts auf allen unterstützten Betriebssystemen ausgeführt werden. Sie können PowerShell Core-Skripts unter Windows schreiben und auf unterstützten Mac OS X- oder Linux-Geräten verwenden. Es gibt sogar experimentelle (nicht unterstützte) Versionen für ARM-Geräte.

Microsoft arbeitet aktiv an PowerShell Core. PowerShell befindet sich hingegen in einem Zustand, der am besten mit der erweiterten Unterstützung für Windows-Versionen verglichen werden kann. Microsoft hat keine Pläne, PowerShell Funktionen hinzuzufügen, veröffentlicht jedoch wichtige Fehlerkorrekturen und Sicherheitsupdates.

Derzeit ist jedoch keine Einführung neuer Funktionen in Windows PowerShell geplant. Dies bedeutet, dass das Risiko einer Regression für Windows PowerShell sehr gering ist, sodass Sie sich darauf verlassen können, dass es eine stabile Plattform für Ihre vorhandenen Workloads darstellt.

PowerShell Core wird nebeneinander unter Windows installiert. Kurz gesagt: PowerShell Core wirkt sich auf Windows-Geräten in keiner Weise auf Windows PowerShell aus.

PowerShell Core 6.0 ist nicht so leistungsstark wie PowerShell 5.1. Ein Hauptgrund dafür ist, dass PowerShell Zugriff auf .NET Framework und .NET Standard hat, während PowerShell Core auf .NET Core und .NET Standard mit weniger Funktionen zugreift.

Einige für Windows PowerShell verfügbare Technologien werden von .NET Core nicht unterstützt. Microsoft stellt fest, dass einige der Technologien möglicherweise in zukünftigen Versionen zurückgegeben werden, dies jedoch nicht für alle gilt.

Das Unternehmen erwähnt PowerShell-Workflows, PowerShell-Snap-Ins, WMlv1-Cmdlets und führt die Ressourcen für die gewünschte Statuskonfiguration speziell aus. Das Dokument Breaking changes for PowerShell 6.0 enthält weitere Informationen.

Die Unterschiede zwischen PowerShell und PowerShell Core

Power ShellPowerShell Core
Versionen1, 0 bis 5, 16.0
PlattformenNur Windows (Client und Server)Windows, Mac OS, Linux
Abhängigkeit.Net Framework.Net Core
VerwendungszweckVerlässt sich auf .Net Framework-LaufzeitVerlässt sich auf die .Net Core-Laufzeit
Gestartet alspowershell.exepwsh.exe (Windows), pwsh (Mac und Linux)
$ PSVersionTable.PSEditionAuf Desktop einstellenAuf Core setzen
Update-RichtlinieNur kritische Fehlerbehebungenalle Updates (Features, Bugs)

PowerShell Core-Downloads

  • PowerShell Core für Windows ist unter diesem Link verfügbar.
  • PowerShell Core für Mac OS X und Linux ist unter diesem Link verfügbar.