Was ist PowerShell?
PowerShell besteht aus zwei Teilen: einer Befehlszeilenshell und einer Skriptsprache. Ursprünglich war PowerShell als Framework für die Automatisierung administrativer Aufgaben unter Windows geplant. Seitdem hat sich PowerShell zu einem plattformübergreifenden Tool entwickelt, das für viele Arten von Aufgaben und Tasks eingesetzt wird.
Eine Befehlszeilenshell hat keine grafische Benutzeroberfläche, in der Sie über eine Maus mit grafischen Elementen interagieren können. Stattdessen werden Textbefehle in eine Computerkonsole eingegeben. Im Folgenden sind einige Vorteile einer Konsole aufgeführt:
- Die Interaktion mit einer Konsole ist oft schneller als die mit einer grafischen Benutzeroberfläche.
- In einer Konsole können Sie Befehle in Batches ausführen. Konsolen eignen sich daher ideal für die Taskautomatisierung in Continuous-Integration-Pipelines.
- Konsolen ermöglichen die Interaktion mit Cloudressourcen und anderen Ressourcen.
- Sie können Befehle und Skripts in einer Textdatei speichern und ein Quellcodeverwaltungssystem verwenden. Diese Funktionalität ist wahrscheinlich einer der größten Nutzen, da Ihre Befehle wiederholbar und überprüfbar sind. In vielen Systemen (insbesondere Behördensystemen) muss alles nachverfolgt und ausgewertet oder auditiert werden. Diese Überprüfungen decken jegliche Änderungen ab, von Datenbankänderungen bis hin zu skriptbasierten Änderungen.
Features
PowerShell weist teilweise dieselben Features wie traditionelle Shells auf:
- Integriertes Hilfesystem: Die meisten Shells verfügen über eine Art von Hilfesystem, mit dem Sie sich eingehender über Befehle informieren können. Beispielsweise können Sie in Erfahrung bringen, was ein Befehl bewirkt und welche Parameter er unterstützt. Das Hilfesystem in PowerShell bietet Informationen zu Befehlen sowie Onlinehilfeartikel.
- Pipeline: Herkömmliche Shells verwenden eine Pipeline, um viele Befehle der Reihe nach auszuführen. Die Ausgabe eines Befehls stellt dabei die Eingabe des nächsten Befehls dar. In PowerShell ist dieses Konzept auf dieselbe Weise wie in herkömmlichen Shells implementiert, mit dem Unterschied, dass PowerShell mit Objekten anstelle von Text arbeitet. Später in diesem Modul erfahren Sie mehr über dieses Feature.
- Aliase: Aliasse sind alternative Namen, über die Befehle ausgeführt werden können. PowerShell unterstützt die Verwendung gängiger Aliasse wie
cls
(Bildschirm leeren) undls
(Dateien auflisten). Daher können neue Benutzer ihre Kenntnis anderer Frameworks anwenden und müssen sich nicht unbedingt die PowerShell-Namen vertrauter Befehle merken.
PowerShell unterscheidet sich in einigen Aspekten von herkömmlichen Befehlszeilenshells:
- PowerShell arbeitet mit Objekten anstelle von Text. In einer Befehlszeilenshell müssen Sie Skripts ausführen, deren Ausgabe und Eingabe sich möglicherweise unterscheiden, sodass Sie zu guter Letzt Zeit aufwenden müssen, um die Ausgabe zu formatieren und die benötigten Daten zu extrahieren. In PowerShell verwenden Sie hingegen Objekte als Ein- und Ausgabe. Dies bedeutet, dass Sie Zeit beim Formatieren und Extrahieren sparen.
- PowerShell verfügt über Cmdlets. Befehle in PowerShell werden Cmdlets genannt (ausgesprochen wie commandlets). In PowerShell basieren Cmdlets auf einer allgemeinen Runtime und nicht auf separaten ausführbaren Dateien wie in vielen anderen Shellumgebungen. Diese Eigenschaft ermöglicht einen konsistenten Ablauf bei der Parameteranalyse und im Pipelineverhalten. Cmdlets nehmen in der Regel Objekteingaben und Rückgabeobjekte. Die Kern-Cmdlets in PowerShell werden in .NET Core erstellt und sind Open Source. Sie können PowerShell erweitern, indem Sie weitere Cmdlets, Skripts und Funktionen aus der Community und anderen Quellen verwenden, oder Sie können eigene Cmdlets in .NET Core oder PowerShell erstellen.
- PowerShell verfügt über viele Arten von Befehlen. Befehle in PowerShell können native ausführbare Dateien, Cmdlets, Funktionen, Skripts oder Aliasse sein. Jeder Befehl, den Sie ausführen, gehört zu einem dieser Typen. Die Wörter Befehl und Cmdlet werden häufig synonym verwendet, weil ein Cmdlet eine Art von Befehl ist.
Installation
In diesem Modul üben Sie die Verwendung von PowerShell auf Ihrem Computer. PowerShell ist plattformübergreifend verfügbar. Wenn Sie jedoch einen Computer verwenden, auf dem Linux, macOS oder eine ältere Version von Windows ausgeführt wird, müssen Sie PowerShell zuerst installieren.
Die Anleitungen für die Installation von PowerShell in den verschiedenen Betriebssystemen unterscheiden sich voneinander. Bevor Sie fortfahren, sollten Sie sich einige Minuten Zeit nehmen, um zu überprüfen, ob PowerShell bereits auf Ihrem Computer installiert ist, und die Installation ggf. nachholen. In der nächsten Lerneinheit in diesem Modul erfahren Sie, wie Sie die Installation auf Ihrem Computer überprüfen.
Windows
Wenn Sie Windows 8 oder höher verwenden, sollte bereits eine PowerShell-Version namens Windows PowerShell auf Ihrem Computer installiert sein. Diese Version unterscheidet sich geringfügig vom aktuellen PowerShell-Release, funktioniert aber einwandfrei für Lernzwecke.
Sie können Windows PowerShell über das Startmenü öffnen.
Andere Betriebssysteme
Wenn auf Ihrem Computer ein anderes Betriebssystem als Windows 8 oder höher ausgeführt wird, müssen Sie PowerShell selbst installieren. Die Installationsanleitung für Ihr Betriebssystem finden Sie unter Installieren verschiedener Versionen von PowerShell.
PowerShell-Erweiterung für Visual Studio Code
Es wird empfohlen, für die Erstellung Ihrer PowerShell-Skripts und das Ausführen der Befehle in diesem Modul die PowerShell-Erweiterung für Visual Studio Code zu verwenden. Diese Erweiterung ermöglicht Ihnen nicht nur das Ausführen von Befehlen, sondern auch die Verwendung von Codeausschnitten, Codevervollständigung und Syntaxhervorhebung.