Windows PowerShell Sprachspezifikation 3.0
Wichtig
Die Windows PowerShell Language Specification 3.0 wurde im Dezember 2012 veröffentlicht und basiert auf Windows PowerShell 3.0. Diese Spezifikation spiegelt nicht den aktuellen Status von PowerShell wider. Es ist nicht geplant, diese Dokumentation zu aktualisieren, um den aktuellen Zustand widerzuspiegeln. Diese Dokumentation wird hier zur historischen Referenz vorgestellt.
Das Spezifikationsdokument ist als Microsoft Word-Dokument aus dem Microsoft Download Center unter: https://www.microsoft.com/download/details.aspx?id=36389 verfügbar. Dieses Word-Dokument wurde hier auf Microsoft Learn für die Präsentation umgewandelt. Während der Konvertierung wurden einige redaktionelle Änderungen vorgenommen, um die Formatierung für die Docs-Plattform zu berücksichtigen. Einige Tippfehler und kleinere Fehler wurden korrigiert.
PowerShell ist eine speziell für Systemadministratoren entwickelte Befehlszeilenshell und Skriptsprache.
Die meisten Shells werden ausgeführt, indem sie einen Befehl oder ein Hilfsprogramm in einem neuen Prozess ausführen und die Ergebnisse dem Benutzer als Text darstellen. Diese Shells verfügen auch über Befehle, die in die Shell integriert sind und im Shellprozess ausgeführt werden. Da es nur wenige integrierte Befehle gibt, wurden viele Hilfsprogramme erstellt, um sie zu ergänzen. PowerShell ist sehr unterschiedlich. Statt Text zu verarbeiten, verarbeitet die Shell Objekte. PowerShell enthält auch einen großen Satz integrierter Befehle mit einer konsistenten Benutzeroberfläche, und diese können mit benutzerdefinierten Befehlen verwendet werden.
Ein Objekt ist eine Datenentität mit Eigenschaften (d. h. Merkmale) und Methoden (d. h. Aktionen, die für das Objekt ausgeführt werden können). Alle Objekte desselben Typs weisen den gleichen Basissatz von Eigenschaften und Methoden auf, aber jede Instanz eines Objekts kann unterschiedliche Eigenschaftswerte aufweisen.
Ein großer Vorteil der Verwendung von Objekten besteht darin, dass Befehle deutlich einfacher über Pipelineverbindungen gesendet werden können. Dabei wird die Ausgabe eines Befehls als Eingabe eines anderen Befehls verwendet. (In einer herkömmlichen Befehlszeilenumgebung muss die Textausgabe eines Befehls bearbeitet werden, um das Eingabeformat eines anderen zu erfüllen.)
PowerShell bietet eine sehr umfangreiche Skriptsprache, die Konstrukte für Schleifen, Bedingungen, Flusssteuerung und Variablenzuweisung unterstützt. Diese Sprache weist Syntaxfeatures und Schlüsselwörter auf, die denen in der Programmiersprache C# ähneln (§C.).
Es gibt vier Arten von Befehlen in PowerShell: Skripts, Funktionen und Methoden, Cmdlets und systemeigene Befehle.
Eine Befehlsdatei wird als Skriptbezeichnet. Standardmäßig verfügt ein Skript über die Dateinamenerweiterung .ps1. Die oberste Ebene eines PowerShell-Programms ist ein Skript, das wiederum andere Befehle aufrufen kann.
PowerShell unterstützt die modulare Programmierung über benannte Verfahren. Eine in PowerShell geschriebene Prozedur wird als -Funktionbezeichnet, während eine externe Prozedur, die von der Ausführungsumgebung (in der Regel in einer anderen Sprache) zur Verfügung gestellt wird, als Methodebezeichnet wird.
Ein Cmdlet (kurz für „Commandlet“) ist ein einfaches Befehlszeilentool mit nur einer Aufgabe. Obwohl ein Cmdlet eigenständig verwendet werden kann, wird die volle Leistungsfähigkeit von Cmdlets realisiert, wenn sie in Kombination zum Ausführen komplexer Aufgaben verwendet werden.
Ein nativer Befehl ist Teil der Hostumgebung.
Bei jeder neuen Ausführung der PowerShell-Laufzeitumgebung wird eine Sitzung gestartet. Befehle werden dann im Kontext dieser Sitzung ausgeführt.
Diese Spezifikation definiert die PowerShell-Sprache, die integrierten Cmdlets und die Verwendung von Objekten über die Pipeline.
Im Gegensatz zu den meisten Shells, die Text akzeptieren und zurückgeben, basiert Windows PowerShell auf der .NET Framework Common Language Runtime (CLR) und .NET Framework und akzeptiert und gibt .NET Framework-Objekte zurück.
Feedback zu PowerShell
PowerShell ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: