Tags: PowerShell, Kompatibilität, SSH
Nach insgesamt 6 Previews veröffentlichte Microsoft den Release Candidate (RC) für PowerShell 7. Es handelt sich dabei um den Nachfolger für Windows PowerShell, der auch unter Linux und macOS läuft. PowerShell 7 GA erscheint im Januar, aber der Hersteller bietet bereits für den RC Support im produktiven Einsatz an.
Wie PowerShell 6 Core basiert PowerShell 7 auf .NET Core, allerdings auf der neueren Version 3.1, die wesentlich mehr Funktionen des kompletten Frameworks implementiert, darunter auch die Windows Presentation Foundation (WPF). Dies erlaubte den Entwicklern die Portierung diverser GUI-Cmdlets von Windows PowerShell, darunter Out-Gridview und Show-Command.
Abwärtskompatibilität mit Windows PowerShell
Die Implementierung weiterer, von Windows PowerShell bekannten Cmdlets erhöhte die Kompatibilität mit dem Vorgänger. Zuletzt kamen in der Preview 6 zum Beispiel die Befehle für das Steuern der Zwischenablage, Out-Printer oder Clear-RecycleBin hinzu.
Für viele Anwender muss PowerShell 7 den vollständigen Funktionsumfang der Windows-Version bieten, bevor sie umsteigen, damit sich vorhandene Scripts unmodifiziert weiter verwenden lassen.
Wo dies nicht durch eine neue Implementierung möglich war, nutzt PowerShell 7 wie zuvor PowerShell Core den Windows Compatibility Wrapper, um Module aus Windows PowerShell 5.1 zu importieren.
Neue Sprachelemente
Die neue Version beschränkt sich allerdings nicht darauf, höchst mögliche Kompatibilität mit Windows PowerShell zu erzielen. Vielmehr bringt sie eine Reihe von Innovationen, darunter mehrere neue Operatoren und Cmdlets. Dazu zählen der ternäre Operator aus Preview 4, die logische Verkettung von Kommandos in Preview 5 oder das Cmdlet Get-Error für die Fehleranalyse.
Als Defizit von PowerShell 7 kann man sehen, dass es sich nicht über die ISE nutzen lässt. Wer eine grafische Entwicklungsumgebung benötigt, den verweist Microsoft auf Visual Studio Code. Für Admins, die gelegentlich ein Script erstellen möchten, ist diese IDE jedoch zu komplex und mit zu viel Lernaufwand verbunden.
Remoting über SSH
Nachdem es sich PowerShell 7 um eine Multi-Plattform-Variante handelt, ändert sich auch das Remoting. Während zwischen Windows-PCs weiterhin WinRM unterstützt wird, läuft die Kommunikation zwischen verschiedenen Betriebssystemen wie schon bei PowerShell Core über SSH.
Verfügbarkeit
Microsoft möchte Anwender zum baldigen Umstieg auf PowerShell 7 ermuntern und bietet daher bereits Support für den Release Candidate im produktiven Einsatz an. PowerShell 7 GA soll dann voraussichtlich im Januar folgen. Die Migration muss nicht auf einen Schlag erfolgen, weil sich PowerShell 7 parallel zu Windows PowerShell nutzen lässt.
Die Software kann mit den für das jeweilige Betriebssystem üblichen Tools und Methoden installiert werden (siehe dazu meine Anleitung für Windows und Ubuntu). Beim Erscheinen eines Updates gibt PowerShell 7 einen entsprechenden Hinweis aus. Unklar ist aktuell noch, ob es künftig automatische Updates geben soll, etwa über WSUS.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- PowerShell 7.3: JEA über SSH, Cmdlet für Setup, erweiterte ARM-Unterstützung
- Microsoft gibt PowerShell 7 frei: die wichtigsten Neuerungen im Überblick
- Nachfolger für Windows PowerShell: PowerShell 7 bringt Log-Forwarding, Credential-Store, Long Term Servicing
- PowerShell Core 6.1: Wesentlich mehr Module und Cmdlets unter Windows verfügbar
- SSH-Remoting in PowerShell Core mit Public-Key-Authentifizierung nutzen
Weitere Links