Tags: Linux, PowerShell, Mac OS
Microsoft hat kürzlich PowerShell als Open Source freigegeben und portiert es nun auf
Linux und Mac OS. Aktuell liegt sie für beide Plattformen in einer Alphaversion vor. Im Gegensatz zu Ubuntu on Windows ist PowerShell voll mit den jeweiligen Betriebssystemen integriert, hinkt aber funktional noch hinter Windows her.
Die Portierung von PowerShell auf Linux und MacOS verbessert die Interoperabilität dieser Systeme mit Windows noch weiter, nachdem Microsoft zuvor mit bash die populärste Unix-Shell auf seine eigene Plattform gebracht hatte (siehe dazu: Ubuntu on Windows 10: bash, gcc, sed, ssh, vi nativ als ELF64 ausführen).
Installation
Die PowerShell für Linux lässt sich relativ einrichten. Im ersten Schritt ist es notwendig, zwei Bibliotheken nachzuinstallieren. Dazu gibt man in einem Terminalfenster den Befehl
sudo apt-get install libunwind8 libicu55
ein.
Anschließend lädt man das passende Installationspaket von Github herunter. Das kann man auf der Kommandozeile mit wget machen, am einfachsten ist es aber, dafür den Web-Browser zu nutzen. Aktuell unterstützt Microsoft Ubuntu 14.4 und 16.4 sowie CentOS 7 und OS X 10.11, aber alle nur in der 64-Bit-Version.
Nach dem Herunterladen kann man das Package einfach im Datei-Manager durch Doppelklick starten. Unter Ubuntu befindet es sich standardmäßig in ~/Downloads und das Paket trägt dort die Endung .deb. Nach Eingabe des Passworts läuft die Installation durch.
Mit dem Aufruf von
powershell
im Terminalfenster kann man die PowerShell nun sofort starten.
Geringe Zahl an Modulen
Natürlich liegt es nahe, die Umgebung gleich zu erforschen und zu sehen, was bereits funktioniert und wo die Unterschiede zu Windows liegen. Ein aufschlussreiches Kommando in diesem Zusammenhang ist
Get-Module -ListAvailable
Unter Linux listet es aktuell 10 Module auf, während es 72 unter einem aktuellen Inside Build von Windows 10 sind. Zu bedenken ist dabei jedoch, dass vor allem zahlreiche Windows-spezifische Module fehlen, die dazu dienen, bestimmte Systemkomponenten anzusprechen. Darunter fallen etwa jene für Appx, Bitlocker, Defender, DISM, UEV oder Windows Update, die auf andere Systeme zu portieren keinen Sinn hätte.
Dagegen wäre es wünschenswert, wenn PowerShell für Linux und Mac OS bis zum Erscheinen eines regulären Releases die Module für das Management des Network-Stacks erhielte. Cmdlets für das Ändern der Netzwerkeinstellungen oder die Konfiguration von NICs wären definitiv eine Bereicherung für Linux. Entsprechendes gilt für das Disk-Management.
Aber auch so ist die PowerShell auf den zwei neuen Plattformen durchaus von Nutzen. Sie enthält etwa das ganze Arsenal an Funktionen für die Verarbeitung von Zeichenketten, Datumsangaben sowie von XML- und CSV-Dateien.
Alle Linux-Tools verfügbar
Aus der Sicht des Windows-Administrators ist es alleine schon ein Gewinn, dass er nun unter Linux eine vertraute Shell vorfindet und sich nicht mit den Eigenheiten der bash beschäftigen muss. Gleichzeitig stehen ihm aber alle Dienstprogramme von Linux offen, die sich bei Bedarf durch sudo auch mit erhöhten Rechten starten lassen.
Im Vergleich dazu bleibt das Linux-Subsystem für Windows 10 ein Fremdkörper im System. Es bringt zwar einen großen Teil des Linux-Werkzeugkastens auf das Microsoft-OS, kann aber keine Windows-Programme ausführen.
PowerShell ist unter Linux sogar in der Lage, über eine Pipe mit den System-eigenen Tools zu kommunizieren. So lässt sich zum Beispiel die Ausgabe von Get-Content an einen Pager wie less schicken. Dies ist auch der Grund, warum Microsoft auf eine Reihe vordefinierter Aliase wie ls für Get-ChildItem verzichtet. Sie würden im Konflikt mit den nativen Linux-Programmen stehen.
Noch offen ist das Thema Remoting. Zwar gehören die Cmdlets Enter-PSSession und Invoke-Command aktuell schon zum Lieferumfang, aber ihnen fehlt noch ein Transportmechanismus. Als solcher ist zukünftig SSH vorgesehen.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- PowerShell-Modul für Exchange Online (EXO v2) unterstützt nun macOS und Linux
- VMware PowerCLI 10.0 für Windows, macOS und Linux: Installation, Anmeldung an vSphere, Upgrade
- PowerShell Core 6.0 für Windows, Mac und Linux offiziell verfügbar
- Zukunft von PowerShell: Aus für Windows-Version, Wechsel auf Core
- VMware PowerCLI unter Ubuntu installieren