Microsoft hat bei der Veröffentlichung der PowerShell 6 Core neue Wege beschritten, denn erstmals war eine neue Version der Shell nicht an das Betriebssystem gekoppelt. Die auf GitHub veröffentlichte "PsCore" trägt zwar die Versionsnummer 6, ist aber im Kern ein kompletter Neustart bezüglich Architektur und Zielsetzung. Plattformunabhängigkeit und Flexibilität sind hier die neuen Leitlinien.
Die Verzahnung von installierten .NETBibliotheken, Systemkomponenten und PowerShell hatte eine Verwendung jenseits von Windows eigentlich unmöglich gemacht. Mit .NET Core wurden diese Limitierungen durch einen modularen Aufbau überwunden. Die PowerShell 6 – im Kern selbst eine .NET-Anwendung – basiert auf .NET Core. Diese PowerShell-Version ist auf Windows und Unix-basierten Betriebssystemen mit .NET Core nutzbar.
Den offenen Ansatz als Open-Source- Projekt hat die PowerShell beibehalten. Dessen Versionen und Erweiterungen in Form von Modulen stehen auf Github [1] zur Verfügung. Wie schon bei den Modulen in der PowerShell Gallery ist der Einfluss externer Entwickler bei der Weiterentwicklung erwünscht. Die PowerShell 7 liefert Microsoft entsprechend als eigenständiges Release aus. Für Windows- Betriebssysteme steht unter [2] ein MSIPaket bereit, für Ubuntu 20.4 reicht der Konsolenbefehl:
sudo snap install powershell -classic
Microsoft bietet im Azure-Portal eine eigene Script-Engine mit Batch-Interpreter und PowerShell an. Die PowerShell-Variante der "Azure Cloud Shell" läuft bereits auf Version 7. Die Idee einer plattformübergreifenden Shell ist also geblieben. Die dabei nicht aufzuhebenden Schwierigkeiten durch die unterschiedlichen Architekturen schränken die Verwirklichung allerdings ein.
Die Systembibliothek "Windows Management Instrumentation" (WMI) ist auch in der PowerShell 7
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.