PowerShell Core 6.1 versteht sich auf Windows Modules und Cmdlets

Microsoft hat an der Stabilität und Geschwindigkeit seiner plattformübergreifenden Open-Source-Version von PowerShell gearbeitet.

In Pocket speichern vorlesen Druckansicht 31 Kommentare lesen
PowerShell fĂĽr alle: Version Core 6.0 ist da
Lesezeit: 2 Min.

Mit der zum Jahresauftakt vorgestellten Version 6.0 hat Microsoft den Weg für eine plattformübergreifende Open-Source-Edition der klassischen Windows PowerShell bereitet. Nun legt das Unternehmen PowerShell Core 6.1 für Windows, Linux und macOS nach, mit zahlreichen Verbesserungen in puncto Stabilität und Performance. Die wichtigste Neuerung ist nach Einschätzung von Joey Aiello, Programmmanager des PowerShell-Teams, aber die Kompatibilität von PowerShell Core mit Windows Modules. Sofern das Compatibility Pack für .NET Core installiert ist, stehen Anwendern von PowerShell Core 6.1 über 1900 Cmdlets aus Windows 10 (Oktober-Update) und Windows Server 2019 zur Verfügung. Beim Start wird automatisch $windir\System32 in die Umgebungsvariable PSModulePath eingebunden, aber nur Module berücksichtigt, die als kompatibel mit Core gekennzeichnet sind.

.NET Core 2.1 bildet die Basis für PowerShell Core 6.1. Daraus resultieren verschiedene Verbesserungen, insbesondere im Hinblick auf die Geschwindigkeit. So habe Microsoft beispielsweise Group-Object um als 66 Prozent gegenüber PowerShell Core 6.0 beschleunigen können, bei Sort-Object sind es immerhin noch knapp 17 Prozent. Auch bei der Konvertierung von JSON Files in PSObject haben die Entwickler die Wartezeit im Vergleich zu PowerShell 5.1 um die Hälfte verkürzen können. In Sachen Application Whitelisting schließt die neuste Version des Skript-Werkzeugs mit PowerShell 5.1 gleich: Mit PowerShell Core 6.1 lässt sich nun die Ausführung von Binaries mit AppLocker und Device Guard im Constrained Language Mode genauso detailliert kontrollieren.

Einen vollständigen Überblick aller Neuerungen in PowerShell Core 6.1 bieten das offizielle Ankündigungsdokument sowie das Changelog auf GitHub. (map)