freshidea - Fotolia

Einstieg in die PowerShell 6.0: Windows und Linux

Die PowerShell 6 ist die erste Version des mächtigen Admin-Tools, die nicht nur unter Windows, sondern auch in hybriden Umgebungen funktioniert. Hier einige Praxisbeispiele.

Mit der PowerShell 6.0 stellt Microsoft eine Core-Version seiner PowerShell zur Verfügung. Diese steht als PowerShell Core auch für Linux und macOS X zur Verfügung. Bereitgestellt wird die Umgebung als Opensource über Github.

PowerShell Core wird über die neue Versionsnummer 6 zur bereitgestellt. Die Windows-Version PowerShell 5.x existiert weiterhin. Es ist aber zu erwarten, dass Microsoft auf Dauer eine einheitliche Basis schafft.

Einstieg in die PowerShell 6.0

Die installierte Version der PowerShell lässt sich am schnellsten durch Abfrage der Variablen $psversiontable anzeigen. Eine Liste aller Module, mit der die aktuelle Version der installierten PowerShell kompatibel ist, lässt sich mit Get-Module -ListAvailable anzeigen. Das funktioniert auch in macOS X und Linux.

Mit dem Befehl Get-Command zeigt die PowerShell Core alle Befehle, welche die Shell zur Verfügung stellt. Die wenigsten Administratoren kennen alle Cmdlets und deren verschiedenen Optionen, die Microsoft zur Verfügung stellt, vor allem weil sich der Funktionsumfang der PowerShell 6 Core und der PowerShell 5.x in Windows unterscheiden.

Die PowerShell bietet eine ausführliche Hilfe an. Haben Administratoren zum Beispiel nur den Teil eines Befehls in Erinnerung, können sie mit dem Platzhalter * arbeiten.

Der Befehl Get-Command *object zeigt zum Beispiel alle Cmdlets an, deren Namen mit „object“ endet. Ist der gesuchte Befehl nicht dabei, können auch mehrere Platzhalter verwendet werden, zum Beispiel der Befehl Get-Command *object*. Dieser Befehl zeigt alle Befehle an, in denen an einer beliebigen Stelle das Wort „object“ vorkommt.

PowerShell 6 Core unter Linux installieren

Um die PowerShell 6 Core auf einem Linux-Rechner zu installieren, müssen zuerst die Public Repositories GPG Keys importiert werden:

curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list

Danach wird das Ubuntu-Repository von Microsoft registriert und ein Update durchgeführt:

curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list

sudo apt-get update 

Anschließend wird die PowerShell installiert und kann auch gleich gestartet werden:

sudo apt-get install -y powershell

Nach der Installation steht die PowerShell zur Verfügung und es kann mit der Shell gearbeitet werden. Gestartet wird die PowerShell in Linux über ein Terminal und den Befehl pwsh.

 PowerShell 6 Core wird über das Ubuntu-Repository von Microsoft importiert.
Abbildung 1: PowerShell 6 Core wird über das Ubuntu-Repository von Microsoft importiert.

Verschiedene Cmdlets nutzen

Es gibt Cmdlets mit dem Präfix New-, um etwas zu erstellen, zum Beispiel New-Item. Das entsprechende Cmdlet existiert dann immer noch mit Remove-, um etwas zu löschen, zum Beispiel Remove-Item. Wollen Anwender das Objekt anpassen, gibt es das Präfix Set- zum Beispiel Set-Item. Und schlussendlich ist da noch das Cmdlet Get-, zum Beispiel Get-Item, um Informationen zum Objekt abzurufen.

Neben diesen Cmdlets stehen natürlich noch viele andere zur Verfügung, wie zum Beispiel Start- und Stop- oder Export- und Import-Cmdlets.

Nach der Installation steht die PowerShell über ein Linux-Terminal und den Befehl „pwsh“ zur Verfügung.
Abbildung 2: Nach der Installation steht die PowerShell über ein Linux-Terminal und den Befehl pwsh zur Verfügung.

Die PowerShell über das Netzwerk nutzen

In Remote-PowerShell-Sitzungen werden die gleichen Cmdlets wie auf den lokalen Computern verwendet. Allerdings erlauben nicht alle Cmdlets eine Remoteverwaltung. Die kompatiblen Cmdlets sind am schnellsten zu sehen, indem überprüft wird, ob das Cmdlet die Option -ComputerName unterstützt. Mit dem Befehl “Get-Help * -Parameter ComputerName” lässt sich eine Liste aller dieser Cmdlets anzeigen.

Sollen von einer lokalen PowerShell-Sitzung über das Netzwerk Programme auf einem Remotecomputer gestartet werden, wird der folgende Befehl verwendet:

Invoke-Command -ComputerName <Ziel-Computer> -ScriptBlock { <Befehl> } -credential <Benutzername>

Um eine Remotesitzung aufzubauen, wird auch das Cmdlet New-PSSession verwendet. Mit Enter-PSSession <Servername> wird eine Verbindung aufgebaut. Mit Exit-Session werden Sitzungen wieder beendet. Interessant ist die Möglichkeit, Sitzungen zu unterbrechen und erneut aufzubauen.

Bei unterbrochenen Sitzungen laufen die Cmdlets weiter, auch wenn sich Administratoren vom Server getrennt haben. Dazu werden die Cmdlets Disconnect-PSSession, Connect-PSSession und Receive-PSSession genutzt.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook

Nächste Schritte

PowerShell-Skripte richtig einsetzen

PowerShell Core 6: Voraussetzungen und Funktionsweise

Vor- und Nachteile beim Arbeiten mit der PowerShell

Artikel wurde zuletzt im November 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Data-Center-Systems-Management

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close