PowerShellPowerShell

PowerShell ist eine aufgabenbasierte Befehlszeilenshell und Skriptsprache, die auf .NET basiert.PowerShell is a task-based command-line shell and scripting language built on .NET. Mit PowerShell können Systemadministratoren und Poweruser Aufgaben zum Verwalten von Betriebssystemen (Linux, macOS und Windows) und Prozessen schnell automatisieren.PowerShell helps system administrators and power-users rapidly automate tasks that manage operating systems (Linux, macOS, and Windows) and processes.

Über PowerShell-Befehle können Sie Computer mit der Befehlszeile verwalten.PowerShell commands let you manage computers from the command line. Mithilfe von PowerShell-Anbietern können Sie auf Datenspeicher wie die Registrierung und den Zertifikatspeicher genauso einfach zugreifen wie auf das Dateisystem.PowerShell providers let you access data stores, such as the registry and certificate store, as easily as you access the file system. PowerShell verfügt über einen umfangreichen Ausdrucksparser und eine vollständig entwickelte Skriptsprache.PowerShell includes a rich expression parser and a fully developed scripting language.

PowerShell ist Open SourcePowerShell is open-source

Der grundlegende PowerShell-Quellcode ist jetzt auf GitHub verfügbar und für Community-Beiträge offen.PowerShell base source code is now available in GitHub and open to community contributions. Informationen dazu finden Sie unter PowerShell-Quellcode auf GitHub.See PowerShell source on GitHub.

Sie können sich alles Notwendige hier im Abschnitt „Get PowerShell“ (PowerShell herunterladen) herunterladen.You can start with the bits you need at Get PowerShell. Beginnen Sie alternativ mit einer kurzen Einführung unter Getting Started (Erste Schritte).Or, perhaps, with a quick tour at Getting Started.

PowerShell-EntwurfszielePowerShell design goals

PowerShell soll Befehlszeilen- und Skriptumgebungen verbessern. Es beseitigt lange bestehende Probleme und führt neue Features ein.PowerShell is designed to improve the command-line and scripting environment by eliminating long-standing problems and adding new features.

ErkennbarkeitDiscoverability

Sie können sich leicht mit den Features in PowerShell vertraut machen.PowerShell makes it easy to discover its features. Um z. B. eine Liste von Cmdlets zu finden, die zum Anzeigen und Ändern von Windows-Diensten dienen, geben Sie Folgendes ein:For example, to find a list of cmdlets that view and change Windows services, type:

Get-Command *-Service

Nachdem Sie ermittelt haben, welches Cmdlet welche Aufgabe erledigt, können Sie mithilfe des Cmdlets Get-Help mehr über das Cmdlet erfahren.After discovering which cmdlet accomplishes a task, you can learn more about the cmdlet by using the Get-Help cmdlet. Geben Sie z.B. zum Anzeigen der Hilfe zum Cmdlet Get-Service Folgendes ein:For example, to display help about the Get-Service cmdlet, type:

Get-Help Get-Service

Die meisten Cmdlets geben Objekte zurück, die bearbeitet und dann als Text für die Anzeige gerendert werden können.Most cmdlets return objects that can be manipulated and then rendered as text for display. Um die Ausgabe eines Cmdlets vollständig zu verstehen, leiten Sie die Ausgabe an das Cmdlet Get-Member weiter.To fully understand the output of a cmdlet, pipe the output to the Get-Member cmdlet. Der folgende Befehl zeigt z.B. Informationen zu den Elementen des Objekts an, das vom Cmdlet Get-Service ausgegeben wurde.For example, the following command displays information about the members of the object output by the Get-Service cmdlet.

Get-Service | Get-Member

KonsistenzConsistency

Das Verwalten von Systemen kann eine komplexe Aufgabe sein.Managing systems can be a complex task. Tools mit einer konsistenten Schnittstelle helfen, die inhärente Komplexität im Griff zu behalten.Tools that have a consistent interface help to control the inherent complexity. Leider zeichnen sich Befehlszeilentools und skriptfähige COM-Objekte nicht durch ihre Konsistenz aus.Unfortunately, command-line tools and scriptable COM objects aren't known for their consistency.

PowerShell besticht durch Konsistenz.The consistency of PowerShell is one of its primary assets. Wenn Sie z.B. gelernt haben, wie das Cmdlet Sort-Object verwendet wird, können Sie mit diesem Wissen die Ausgabe sämtlicher Cmdlets sortieren.For example, if you learn how to use the Sort-Object cmdlet, you can use that knowledge to sort the output of any cmdlet. Sie müssen also nicht für jedes Cmdlet eine andere Sortierroutine erlernen.You don't have to learn the different sorting routines of each cmdlet.

Darüber hinaus müssen Cmdlet-Entwickler keine Sortierfunktionen für ihre Cmdlets entwerfen.Additionally, cmdlet developers don't have to design sorting features for their cmdlets. PowerShell bietet ein Framework mit den grundlegenden Funktionen, das Konsistenz erzwingt.PowerShell provides a framework with the basic features that forces consistency. Das Framework bietet einige Optionen nicht, die dem Entwickler überlassen werden.The framework eliminates some choices that are left to the developer. Im Gegenzug vereinfacht es aber die Entwicklung von Cmdlets deutlich.But, in return, it makes the development of cmdlets much simpler.

Interaktive und SkriptumgebungenInteractive and scripting environments

Die Windows-Eingabeaufforderung bietet eine interaktive Shell mit Zugriff auf Befehlszeilentools und grundlegende Funktionen für die Skripterstellung.The Windows Command Prompt provides an interactive shell with access to command-line tools and basic scripting. Windows Script Host (WSH) weist skriptfähige Befehlszeilentools und COM-Automatisierungsobjekte auf, jedoch keine interaktive Shell.Windows Script Host (WSH) has scriptable command-line tools and COM automation objects, but doesn't provide an interactive shell.

PowerShell kombiniert eine interaktive Shell und einer Skriptumgebung.PowerShell combines an interactive shell and a scripting environment. PowerShell kann auf Befehlszeilentools, COM-Objekte und .NET-Klassenbibliotheken zugreifen.PowerShell can access command-line tools, COM objects, and .NET class libraries. Diese Kombination von Features erweitert die Möglichkeiten von interaktiven Benutzern, Skriptautoren und Systemadministratoren.This combination of features extends the capabilities of the interactive user, the script writer, and the system administrator.

ObjektorientierungObject orientation

PowerShell ist objekt- und nicht textbasiert.PowerShell is based on object not text. Die Ausgabe eines Befehls ist ein Objekt.The output of a command is an object. Sie können das Ausgabeobjekt über die Pipeline als Eingabe an einen anderen Befehl senden.You can send the output object, through the pipeline, to another command as its input.

Diese Pipeline bietet Benutzern, die bereits über Erfahrung mit anderen Shells verfügen, eine vertraute Schnittstelle.This pipeline provides a familiar interface for people experienced with other shells. PowerShell erweitert dieses Konzept durch das Senden von Objekten anstelle von Text.PowerShell extends this concept by sending objects rather than text.

Einfacher Übergang zur SkripterstellungEasy transition to scripting

Die Erkennbarkeit von Befehlen in PowerShell vereinfacht den Übergang von der interaktiven Eingabe von Befehlen zum Erstellen und Ausführen von Skripts.PowerShell's command discoverability makes it easy to transition from typing commands interactively to creating and running scripts. Aufzeichnungen und der Verlauf von PowerShell erleichtern das Kopieren von Befehlen in eine Datei, um sie als Skript zu verwenden.PowerShell transcripts and history make it easy to copy commands to a file for use as a script.