Microsoft bringt PowerShell für Linux und Mac OS X

    Powershell-LogoMicrosoft gab eine frühe Implementierung seiner Script- und Kommando­zeilen­umgebung für Linux und Mac OS X frei. Für das Remoting von Befehlen unterstützt diese Implementierung neben WinRM auch OpenSSH. Ein eigener Editor Service soll das Schreiben von Code in grafischen Werkzeugen erlauben.

    Jeffrey Snover, der "Erfinder" von PowerShell, sieht in ihrer Portierung auf Linux ein weiteres Zeichen für die Öffnung seines Unternehmens für andere Plattformen. Das neue Microsoft überraschte erst kürzlich durch die Ankündigung von SQL Server für Linux oder generell durch die zunehmende Entwicklung von Apps für Android oder iOS.

    Cloud-Strategie erfordert mehr Offenheit

    Der Hauptgrund für den Sinneswandel dürften aber Microsofts Ambitionen als Cloud-Provider sein. Ein Erfolg von Azure, das ausschließlich Windows und Microsoft-Technologien unterstützt, ist schwer vorstellbar. Darin ist auch der Grund für Satya Nadella Bekenntnis zu "Microsoft loves Linux" zu sehen.

    PowerShell spielt in dieser Strategie eine wichtige Rolle, weil es sich dabei um eine zentrale Technologie für das Management der Microsoft-Plattform handelt. Sie soll künftig auch in der Lage sein, heterogene Umgebungen zu verwalten.

    bash unter Windows 10 ergänzt PowerShell, um Linux vom Microsoft-OS aus verwalten zu können.

    Microsoft hat kürzlich auch die umgekehrte Möglichkeit eröffnet, Linux und andere Unix-Derivate mit deren eigenen Shells und Tools von Windows 10 aus zu administrieren. Das Subsystem Ubuntu on Windows gehört seit der Version 1607 zum Lieferumfang der Pro und Enterprise Edition.

    .NET, DSC-Ressourcen und PowerShell als Open Source

    Nachdem PowerShell auf .NET beruht, bestand der erste Schritt in der Portierung von der Core Common Language Runtime (CoreCLR) auf Linux. Parallel dazu gab Microsoft .NET und Ressourcen für Desired State Configuration (DSC) als Open Source frei.

    Die aktuell verfügbare Implementierung für *nix befindet sich im Alpha-Stadium und läuft unter Ubuntu, CentOS und Mac OS X. Die Unterstützung für weitere Linux-Distributionen ist geplant.

    Unterstützung von grafischen IDEs

    Auf die Entwickler wartet nach der Portierung der Kernfunktionen jedoch noch weitere Arbeit, um auf den neuen Plattformen eine halbwegs ebenbürtige Implementierung von PowerShell zu bieten. Dazu zählen neben der textorientierten Shell auch grafische Tools für die Programmierung von Scripts, wie sie Windows etwa mit der ISE bietet.

    IntelliSense bietet ein Type-ahead für Cmdlets, Parameter und Befehlswörter. Es soll auch für Linux-Editoren zur Verfügung stehen.

    Diesem Zweck dient der Editor Service, der bestehende Editoren um Fähigkeiten zur Bearbeitung von PowerShell-Code ergänzen soll. Dazu zählen unter anderem Syntax-Hervorhebung, Auto­ver­voll­ständigung oder das Debugging. Aktuell unterstützt er Visual Studio Code und Sublime, auch hier sollen weitere Tools folgen.

    Remoting über SSH

    Ein weiterer offener Punkt ist das PowerShell-Remoting. Unter Windows nutzt Microsoft dafür WinRM, dieses soll nun um OpenSSH als nativer Transport­mechanismus ergänzt werden. Ziel ist es dabei, beide Protokolle zwischen Windows und Linux zu unterstützen, und zwar in beide Richtungen.

    Der Nutzen von PowerShell unter Windows besteht besonders darin, dass sich fast alle Komponenten des Betriebssystems und die meisten Server-Produkte über eigene Module und Cmdlets ansprechen lassen. Bis die Linux oder Mac OS diesen Stand erreicht, liegt noch ein langer Weg vor den Entwicklern.

    Cmdlet-Entwicklung in Python

    Hier erwartet Microsoft die Unterstützung der Community, indem es die Programmierung von Cmdlets für Linux-Entwicklung vereinfacht. Zu den wichtigsten Maßnahmen gehören hier die geplante Unterstützung für Python und andere unter *nix populäre Sprachen.

    Das Open-Source-Projekt für PowerShell findet sich auf GitHub, von wo auch Binaries für alle aktuell unterstützten Betriebs­systeme heruntergeladen werden können.

    Keine Kommentare