PowerShellPowerShell

PowerShell basiert auf dem .NET Framework und ist eine aufgabenbasierte Befehlszeilenshell und Skriptsprache. Sie wurde speziell für Administratoren und Poweruser entworfen, um das Verwalten von mehreren Betriebssystemen (Linux, macOS, Unix und Windows) und die anwendungsbezogenen Prozesse auf diesen Betriebssystemen schnell zu automatisieren.Built on the .NET Framework, PowerShell is a task-based command-line shell and scripting language; it is designed specifically for system administrators and power-users, to rapidly automate the administration of multiple operating systems (Linux, macOS, Unix, and Windows) and the processes related to the applications that run on those operating systems.

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“ 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

Windows PowerShell ist auf das Verbessern der Befehlszeilen- und Skriptumgebung ausgelegt, indem lange bestehende Probleme beseitigt und neue Features hinzugefügt wurden.Windows PowerShell is designed to improve the command-line and scripting environment by eliminating long-standing problems and adding new features.

ErkennbarkeitDiscoverability

Windows PowerShell erleichtert das Ermitteln seiner Features.Windows 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

Nach dem Ermitteln, mit welchem Cmdlet eine Aufgabe erledigt wird, 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 aus, die bearbeitet und dann in Text für die Anzeige gerendert werden können.Most cmdlets emit objects which can be manipulated and then rendered into text for display. Um die Ausgabe dieses Cmdlets vollständig zu verstehen, leiten Sie seine Ausgabe an das Cmdlet „Get-Member“ weiter.To fully understand the output of that cmdlet, pipe its 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 ein komplexer Vorgang sein, und Tools mit einer konsistenten Schnittstelle helfen, die inhärente Komplexität im Griff zu behalten.Managing systems can be a complex endeavor and tools that have a consistent interface help to control the inherent complexity. Leider zeichnen sich weder Befehlszeilentools noch skriptfähige COM-Objekte durch ihre Konsistenz aus.Unfortunately, neither command-line tools nor scriptable COM objects have been known for their consistency.

Die Konsistenz von Windows PowerShell ist einer der wesentlichen Vorteile.The consistency of Windows 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 do not have to learn the different sorting routines of each cmdlet.

Darüber hinaus müssen Cmdlet-Entwickler keine Sortierfunktionen für ihre Cmdlets entwerfen.In addition, cmdlet developers do not have to design sorting features for their cmdlets. Windows PowerShell bietet ihnen ein Framework, das die grundlegenden Funktionen bereitstellt und Konsistenz bei vielen Aspekten der Schnittstelle erzwingt.Windows PowerShell gives them a framework that provides the basic features and forces them to be consistent about many aspects of the interface. Das Framework bietet nicht mehr einige der Wahlmöglichkeiten, die normalerweise dem Entwickler überlassen werden, vereinfacht aber im Gegenzug die Entwicklung zuverlässiger und benutzerfreundlicher Cmdlets wesentlich.The framework eliminates some of the choices that are typically left to the developer, but, in return, it makes the development of robust and easy-to-use cmdlets much simpler.

Interaktive und SkriptumgebungInteractive and Scripting Environments

Windows PowerShell ist eine kombinierte interaktive und Skriptumgebung, die Zugriff auf Befehlszeilentools und COM-Objekte bietet und auch das Ausnutzen der Leistungsfähigkeit der .NET Framework Class Library (FCL) ermöglicht.Windows PowerShell is a combined interactive and scripting environment that gives you access to command-line tools and COM objects, and also enables you to use the power of the .NET Framework Class Library (FCL).

Diese Umgebung verbessert die Windows-Eingabeaufforderung, die eine interaktive Umgebung mit mehreren Befehlszeilentools bereitstellt.This environment improves upon the Windows Command Prompt, which provides an interactive environment with multiple command-line tools. Sie verbessert auch WSH-Skripts (Windows Script Host), mit denen Sie können mehrere Befehlszeilentools und COM-Automatisierungsobjekte verwenden können, die aber keine interaktive Umgebung bieten.It also improves upon Windows Script Host (WSH) scripts, which let you use multiple command-line tools and COM automation objects, but do not provide an interactive environment.

Durch die Kombination aller dieser Features erweitert Windows PowerShell die Möglichkeiten des interaktiven Benutzers und Skripterstellers und zur Vereinfachung der Systemadministration.By combining access to all of these features, Windows PowerShell extends the ability of the interactive user and the script writer, and makes system administration more manageable.

ObjektorientierungObject Orientation

Obwohl Sie mit Windows PowerShell interagieren, indem Sie Befehle als Text eingeben, basiert Windows PowerShell auf Objekten und nicht auf Text.Although you interact with Windows PowerShell by typing commands in text, Windows PowerShell is based on objects, not text. Die Ausgabe eines Befehls ist ein Objekt.The output of a command is an object. Sie können das Ausgabeobjekt als Eingabe an einen anderen Befehl weiterleiten.You can send the output object to another command as its input. Daher bietet Windows PowerShell eine vertraute Schnittstelle für Personen, die mit anderen Shells vertraut sind, und führt gleichzeitig ein neues, leistungsstarkes Befehlszeilenmodell ein.As a result, Windows PowerShell provides a familiar interface to people experienced with other shells, while introducing a new and powerful command-line paradigm. Das Konzept des Übermittelns von Daten zwischen Befehlen wird erweitert, indem Sie Objekte anstelle von Text übermitteln können.It extends the concept of sending data between commands by enabling you to send objects, rather than text.

Einfacher Übergang zur SkripterstellungEasy Transition to Scripting

Windows PowerShell vereinfacht den Übergang von der interaktiven Eingabe von Befehlen zum Erstellen und Ausführen von Skripts.Windows PowerShell makes it easy to transition from typing commands interactively to creating and running scripts. Sie können Befehle an der Windows PowerShell-Eingabeaufforderung eingeben, um die Befehle zu ermitteln, die eine Aufgabe ausführen.You can type commands at the Windows PowerShell command prompt to discover the commands that perform a task. Dann können Sie diese Befehle in einer Aufzeichnung oder einem Verlauf speichern, bevor Sie sie in eine Datei zur Verwendung als Skript kopieren.Then, you can save those commands in a transcript or a history before copying them to a file for use as a script.