Die Struktur von Windows PowerShell vereinigt Konzepte vieler unterschiedlicher Umgebungen. Einige davon sind Personen vertraut, die schon mit bestimmten Shells oder Programmierumgebungen gearbeitet haben, aber die wenigsten werden alle Konzepte kennen. Durch das Erlernen einiger dieser Konzepte erhalten Sie einen hilfreichen Überblick über die Shell.

Nicht textbasierte Befehle

Im Gegensatz zu herkömmlichen Befehlen von Befehlszeilenschnittstellen sind Windows PowerShell-Cmdlets für die Arbeit mit Objekten ausgelegt, d. h. mit strukturierten Informationen, die mehr als nur eine Zeichenfolge auf dem Bildschirm darstellen. Die Befehlsausgabe enthält immer zusätzliche Informationen, die Sie bei Bedarf verwenden können. Dieses Thema wird später in diesem Dokument ausführlich behandelt.

Wenn Sie bereits Textverarbeitungstools für das Verarbeiten von Befehlszeilendaten verwendet haben, werden Sie feststellen, dass deren Verhalten abweicht, wenn Sie sie in Windows PowerShell verwenden. In den meisten Fällen benötigen Sie keine Textverarbeitungstools, um bestimmte Informationen zu extrahieren. Sie können direkt auf Teile der Daten zugreifen, indem Sie Windows PowerShell-Standardbefehle zur Objektbearbeitung verwenden.

Erweiterbarer Befehlssatz

Schnittstellen wie "Cmd.exe" bieten keine direkte Möglichkeit zum Erweitern des integrierten Befehlssatzes. Sie können externe Befehlszeilentools erstellen, die in "Cmd.exe" ausgeführt werden, diese externen Tools bieten jedoch keine Dienste, z. B. keine Integration der Hilfeinformationen. Außerdem erkennt "Cmd.exe" nicht automatisch, ob es sich um gültige Befehle handelt.

Die systemeigenen binären Befehle in Windows PowerShell werden als Cmdlets (ausgesprochen "Command-lets") bezeichnet und können von Ihnen durch weitere Cmdlets erweitert werden, die Sie mit Snap-Ins erstellen und zu Windows PowerShell hinzufügen. Windows PowerShell-Snap-Ins werden wie binäre Tools in anderen Schnittstellen kompiliert. Sie können der Shell damit Windows PowerShell-Anbieter und auch neue Cmdlets hinzufügen.

Aufgrund der Besonderheiten der internen Windows PowerShell-Befehle werden diese als Cmdlets bezeichnet.

Hinweis:

Sie können an Windows PowerShell auch andere Befehle als Cmdlets ausführen. Diese werden im vorliegenden Windows PowerShell-Benutzerhandbuch zwar nicht detailliert beschrieben, es ist dennoch hilfreich, diese als Kategorien von Befehlstypen zu kennen. Windows PowerShell unterstützt Skripts, die UNIX-Shellskripts und Cmd.exe-Batchdateien entsprechen, jedoch die Dateinamenerweiterung ".ps1" besitzen. Außerdem ermöglicht Windows PowerShell das Erstellen interner Funktionen, die direkt an der Benutzeroberfläche oder in Skripts verwendet werden können.

Behandlung von Konsoleneingabe und ‑anzeige durch Windows PowerShell

Wenn Sie einen Befehl eingeben, verarbeitet Windows PowerShell die Befehlszeileneingabe immer direkt. Außerdem formatiert Windows PowerShell die auf dem Bildschirm angezeigte Ausgabe. Dies verringert den Aufwand für die einzelnen Cmdlets und stellt zudem sicher, dass Sie Ihre Aufgaben immer gleich ausführen können, unabhängig davon, welches Cmdlet Sie verwenden. Ein Beispiel dafür, wie dies die Arbeit für Toolentwickler und Benutzer vereinfacht, bildet die Befehlszeilenhilfe.

Herkömmliche Befehlszeilentools verfügen über eigene Schemas zum Anfordern und Anzeigen der Hilfe. In einigen Befehlszeilentools wird die Anzeige der Hilfe über /? ausgelöst, in anderen durch -?, /H oder sogar //. In einigen Fällen wird die Hilfe dann in einem Fenster der grafischen Benutzeroberfläche und nicht in der Konsolenanzeige angezeigt. Einige komplexe Tools, z. B. Aktualisierungsprogramme für Anwendungen, entpacken interne Dateien, bevor die Hilfeinformationen angezeigt werden. Wenn Sie einen falschen Parameter verwenden, könnte das Tool Ihre Eingabe ignorieren und automatisch mit der Ausführung einer Aufgabe beginnen.

Wenn Sie in Windows PowerShell einen Befehl eingeben, wird Ihre gesamte Eingabe automatisch analysiert und durch Windows PowerShell vorverarbeitet. Wenn Sie den -? -Parameter für ein Windows PowerShell-Cmdlet verwenden, bedeutet dies in jedem Fall: "Hilfe zu diesem Befehl anzeigen". Die Cmdlet-Entwickler müssen den Befehl nicht analysieren, sondern lediglich Hilfetext bereitstellen.

Die Hilfefeatures von Windows PowerShell sind auch dann verfügbar, wenn Sie herkömmliche Befehlszeilentools in Windows PowerShell verwenden. Windows PowerShell verarbeitet die Parameter und übergibt die Ergebnisse an die externen Tools.

Hinweis:

Wenn Sie eine grafische Anwendung in Windows PowerShell ausführen, wird das Anwendungsfenster geöffnet. Windows PowerShell greift nur bei der Verarbeitung Ihrer Befehlszeileneingabe und der an die Konsole zurückgegebenen Anwendungsausgabe ein, die internen Abläufe der Anwendung werden nicht beeinflusst.

Verwendung von C#-Syntax durch Windows PowerShell

Windows PowerShell verfügt über Syntaxfeatures und Schlüsselwörter, die denen der Programmiersprache C# stark ähneln, da Windows PowerShell auf .NET Framework basiert. Wenn Sie Erfahrungen mit Windows PowerShell sammeln, wird Ihnen auf das Erlernen von C# leichter fallen, sofern Sie an dieser Sprache interessiert sind.

Wenn Sie kein C#-Programmierer sind, ist diese Ähnlichkeit nicht von Bedeutung. Wenn Sie aber bereits mit C# vertraut sind, können Ihnen diese Ähnlichkeiten das Erlernen des Umgangs mit Windows PowerShell erheblich erleichtern.




Inhaltsverzeichnis