Schlagwort-Archive: PowerShell Framework

PowerShell ist ein plattformübergreifendes Framework und Skriptsprache von Microsoft zur Automatisierung, Konfiguration und Verwaltung von Systemen.

PowerShell für Linux

PowerShell Open Source ist für Linux verfügbar. Microsofts Hingabe für Linux geht weiter.

Das Management-Tool für Windows, die PowerShell, läuft auf dem freien Betriebssystem Linux. Die PowerShell ist zudem Open Source und nutzt künftig OpenSSH, bekannt als Posh-SSH für den Transport.

Das Entwicklerteam der PowerShell, dem wohl wichtigsten Verwaltungswerkzeug für Windows-Admins, hat seinen Kommandozeileninterpreter von Beginn an vermehrt an die Konzepte typischer Unix-Shells angelehnt und nach mehrjährigen Versuchen zuletzt auch den OpenSSH-Port auf Windows portiert. Folglich steht die PowerShell als Open-Source-Software zur Verfügung und ist auf Linux portiert worden.

Möglich geworden ist der Port auf Linux sowie die Offenlegung der PowerShell durch die vorangegangene erfolgreiche Portierung des Frameworks .Net Core, das ebenfalls als OpenSource entwickelt wird. Die PowerShell läuft zusätzlich zu den Linux-Distributionen Ubuntu, CentOS und Red Hat Enterprise Linux auch auf Mac OS X.

Die Entwicklung des Codes der PowerShell findet auf Github statt.

Für die Weiterentwicklung der PowerShell will Microsoft darüber hinaus aktiv mit interessierten Unternehmen zusammenarbeiten. Dazu zählen aktuell Google und VMware.

PowerShell installieren auf Debian 10 und 11

PowerShell kann auf verschiedenen Linux-Distributionen installiert werden. Für die meisten Linux-Plattformen und -Distributionen wird jedes Jahr eine Hauptversion veröffentlicht, und es wird ein Paket-Manager zum Installieren von PowerShell bereitgestellt. PowerShell kann auf einigen Linux-Verteilungen installiert werden, die von Microsoft nicht unterstützt werden. In diesen Fällen findet man möglicherweise Support von der Community für PowerShell.

Microsoft erstellt und unterstützt eine Vielzahl von Softwareprodukten für Linux-Systeme und stellt sie über Linux-Paketclients (apt, dnf, yum usw.) zur Verfügung. Diese Linux-Softwarepakete werden im Linux-Paketrepository für Microsoft-Produkte, https://packages.microsoft.com, auch als PMC bezeichnet, gehostet.

quote Die Installation von PowerShell aus PMC ist die bevorzugte Installationsmethode.

$ sudo apt-get update
$ sudo apt-get install -y wget
$ source /etc/os-release
$ wget -q https://packages.microsoft.com/config/debian/$VERSION_ID/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ rm packages-microsoft-prod.deb
$ sudo apt-get update
$ sudo apt-get install -y powershell

Nun PowerShell starten.

$ pwsh

PowerShell Installation über Download

Mit PowerShell 7.2 wurde ein Universalpaket eingeführt, das die Installation vereinfacht. Lade das Universalpaket von der Seite Releases auf den Debian-Computer herunter.

Der Link zur aktuellen Version ist:

PowerShell 7.3.7 (Universalpaket) für unterstützte Versionen von Debian
    https://github.com/PowerShell/PowerShell/releases/download/v7.3.7/powershell_7.3.7-1.deb_amd64.deb
PowerShell 7.2.14 (Universalpaket) für unterstützte Versionen von Debian
    https://github.com/PowerShell/PowerShell/releases/download/v7.2.14/powershell-lts_7.2.14-1.deb_amd64.deb
PowerShell 7.4-preview.5 (Universalpaket) für unterstützte Versionen von Debian
    https://github.com/PowerShell/PowerShell/releases/download/v7.4.0-preview.5/powershell-preview_7.4.0-preview.5-1.deb_amd64.deb

Das folgende Shellskript lädt die aktuelle Vorschauversion von PowerShell herunter und installiert sie. Die URL kann geändert werden, um die Version von PowerShell zu installieren, die man benötigt.

$ sudo apt-get update
$ sudo apt-get install -y wget
$ wget https://github.com/PowerShell/PowerShell/releases/download/v7.4.0-preview.5/powershell-preview_7.4.0-preview.5-1.deb_amd64.deb
$ sudo dpkg -i powershell-preview_7.4.0-preview.5-1.deb_amd64.deb
$ sudo apt-get install -f
$ rm powershell-preview_7.4.0-preview.5-1.deb_amd64.deb
$ pwsh-previe

SSH mit PowerShell

Wie Microsoft bekannt gab, wird SSH durch PowerShell in Windows 10 unterstützt werden

Dabei handelt es sich um eine Drittanbieter-Lösungen namens Posh-SSH. Um SSH nutzen zu können, muss zuerst das Posh-SSH Modul aus der PowerShell Gallery installieren werden. Erforderlich ist das Windows 10 zur Anwendung kommt, oder dass das Windows Management Framework 5 installiert ist.

Install-Module Posh-SSH

Posh-SSH kann wie folgt als Administrator installiert werden.

Install-Module Posh-SSH
Get-Command -Module Posh-SSH
New-SSHSession -ComputerName "192.168.12.34" -Credential (Get-Credential)
Invoke-SSHCommand -Index 0 -Command "uname -a"

Damit ist es möglich Befehle auf dem Linux Host auszuführen und Dateien zu kopieren.

PoshSSH, SSH mit PowerShell

Posh-SSH ist ein Modul für die Automatisierung von Aufgaben gegen das System mit dem SSH-Protokoll (OpenSSH). Das Modul unterstützt nur eine Teilmenge der Fähigkeiten, diese in RFCs https://de.wikipedia.org/wiki/Secure_Shell definiert sind.

WinRM PowerShell-Remoting

In der Regel wird beim PowerShell-Remoting für die Aushandlung der Verbindung und den Datentransport WinRM verwendet. SSH ist jetzt für Linux- und Windows-Plattformen verfügbar und ermöglicht echtes PowerShell-Remoting für mehrere Plattformen.

WinRM bietet ein stabiles Hostingmodell für PowerShell-Remotesitzungen. SSH-basiertes Remoting unterstützt derzeit nicht die Remotekonfiguration von Endpunkten und JEA (Just Enough Administration, minimale Verwaltung).

SSH-Remoting

Mithilfe von SSH-Remoting können Sie grundlegendes PowerShell-Remoting von Sitzungen zwischen Windows- und Linux-Computern ausführen. SSH-Remoting erstellt einen PowerShell-Hostprozess als SSH-Subsystem auf dem Zielcomputer. Schließlich implementieren wir ein allgemeines mit WinRM vergleichbares Hostingmodell, um die Endpunktkonfiguration und JEA zu unterstützen.

PowerShell SSH Cmdlets

Die Cmdlets New-PSSession, Enter-PSSession und Invoke-Command verfügen nun über einen neuen Parameter, der diese neue Remotingverbindung unterstützt.

Fazit

Ab Windows 10 1907 wurde OpenSSH verfügbar, das auch in Windows 11 verfügbar ist und aus Programme und Features bereitgestellt wird.