Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Programmierhandbuch richtet sich an Entwickler, die an der Bereitstellung einer Befehlszeilenverwaltungsumgebung für Systemadministratoren interessiert sind. Windows PowerShell bietet eine einfache Möglichkeit zum Erstellen von Verwaltungsbefehlen, die .NET-Objekte verfügbar machen, während Windows PowerShell die meisten Aufgaben für Sie erledigen kann.
In der herkömmlichen Befehlsentwicklung müssen Sie einen Parameterparser, einen Parameterordner, Filter und alle anderen Funktionen schreiben, die von jedem Befehl verfügbar gemacht werden. Windows PowerShell bietet Folgendes, um Ihnen das Schreiben von Befehlen zu erleichtern:
Ein leistungsstarkes Windows PowerShell-Laufzeitmodul (Ausführungsmodul) mit eigenem Parser und einem Mechanismus zum automatischen Binden von Befehlsparametern.
Hilfsprogramme zum Formatieren und Anzeigen von Befehlsergebnissen mithilfe eines Befehlszeilendolmetschers (CLI).
Unterstützung für hohe Funktionalitätsebenen (über Windows PowerShell-Anbieter), die den Zugriff auf gespeicherte Daten erleichtern.
Zu geringen Kosten können Sie ein .NET-Objekt durch einen umfangreichen Befehl oder eine Reihe von Befehlen darstellen, die dem Administrator eine vollständige Befehlszeilenoberfläche bieten.
Im nächsten Abschnitt werden die wichtigsten Windows PowerShell-Konzepte und -Begriffe behandelt. Machen Sie sich mit diesen Konzepten und Begriffen vertraut, bevor Sie mit der Entwicklung beginnen.
Informationen zu Windows PowerShell
Windows PowerShell definiert mehrere Arten von Befehlen, die Sie in der Entwicklung verwenden können. Zu diesen Befehlen gehören: Funktionen, Filter, Skripts, Aliase und ausführbare Dateien (Anwendungen). Der in diesem Leitfaden erläuterte Hauptbefehlstyp ist ein einfacher, kleiner Befehl namens "Cmdlet". Windows PowerShell stellt eine Reihe von Cmdlets bereit und unterstützt die Cmdlet-Anpassung vollständig entsprechend Ihrer Umgebung. Die Windows PowerShell-Laufzeit verarbeitet alle Befehlstypen genauso wie Cmdlets mithilfe von Pipelines.
Zusätzlich zu Befehlen unterstützt Windows PowerShell verschiedene anpassbare Windows PowerShell-Anbieter, die bestimmte Cmdlets verfügbar machen. Die Shell wird in der von Windows PowerShell bereitgestellten Hostanwendung (powershell.exe
) ausgeführt, kann aber auch von einer benutzerdefinierten Hostanwendung aus zugänglich sein, die Sie entwickeln können, um bestimmte Anforderungen zu erfüllen. Weitere Informationen finden Sie unter How Windows PowerShell Works.
Windows PowerShell-Cmdlets
Ein Cmdlet ist ein einfacher Befehl, der in der Windows PowerShell-Umgebung verwendet wird. Die Windows PowerShell-Laufzeit ruft diese Cmdlets im Kontext von Automatisierungsskripts auf, die in der Befehlszeile bereitgestellt werden, und die Windows PowerShell-Laufzeit ruft sie auch programmgesteuert über Windows PowerShell-APIs auf.
Weitere Informationen zu Cmdlets finden Sie unter Schreiben eines Windows PowerShell-Cmdlets.
Windows PowerShell-Anbieter
Bei der Ausführung administrativer Aufgaben muss der Benutzer möglicherweise Daten untersuchen, die in einem Datenspeicher gespeichert sind (z. B. das Dateisystem, die Windows-Registrierung oder einen Zertifikatspeicher). Um diese Vorgänge zu vereinfachen, definiert Windows PowerShell ein Modul namens Windows PowerShell-Anbieter, der für den Zugriff auf einen bestimmten Datenspeicher verwendet werden kann, z. B. die Windows-Registrierung. Jeder Anbieter unterstützt eine Reihe verwandter Cmdlets, um dem Benutzer eine symmetrische Ansicht der Daten im Speicher zu geben.
Windows PowerShell stellt mehrere Standardmäßige Windows PowerShell-Anbieter bereit. Der Registrierungsanbieter unterstützt beispielsweise die Navigation und Manipulation der Windows-Registrierung. Registrierungsschlüssel werden als Elemente dargestellt, und Registrierungswerte werden als Eigenschaften behandelt.
Wenn Sie einen Datenspeicher verfügbar machen, auf den der Benutzer zugreifen muss, müssen Sie möglicherweise Ihren eigenen Windows PowerShell-Anbieter schreiben, wie in Erstellen von Windows PowerShell-Anbieternbeschrieben. Weitere Informationen zu PowerShell-Anbietern vonWindows finden Sie unter How Windows PowerShell Works.
Hostanwendung
Windows PowerShell enthält die standardmäßige Hostanwendung powershell.exe, bei der es sich um eine Konsolenanwendung handelt, die mit dem Benutzer interagiert und die Windows PowerShell-Runtime mithilfe eines Konsolenfensters hostet.
Nur selten müssen Sie Ihre eigene Hostanwendung für Windows PowerShell schreiben, obwohl die Anpassung unterstützt wird. Ein Fall, in dem Sie möglicherweise eine eigene Anwendung benötigen, ist, wenn Sie über eine GUI-Schnittstelle verfügen, die umfangreicher ist als die schnittstelle, die von der Standardhostanwendung bereitgestellt wird. Möglicherweise möchten Sie auch eine benutzerdefinierte Anwendung, wenn Sie Ihre GUI auf der Befehlszeile basieren. Weitere Informationen finden Sie unter Erstellen einer Windows PowerShell-Hostanwendung.
Windows PowerShell-Runtime
Die Windows PowerShell-Laufzeit ist das Ausführungsmodul, das die Befehlsverarbeitung implementiert. Sie enthält die Klassen, die die Schnittstelle zwischen den Hostanwendungs- und Windows PowerShell-Befehlen und -Anbietern bereitstellen. Die Windows PowerShell-Laufzeit wird als Runspace-Objekt für die aktuelle Windows PowerShell-Sitzung implementiert, bei der es sich um die Betriebsumgebung handelt, in der die Shell und die Befehle ausgeführt werden. Weitere Informationen finden Sie unter Funktionsweise von Windows PowerShell.
Windows PowerShell-Sprache
Die Windows PowerShell-Sprache stellt Skriptfunktionen und Mechanismen zum Aufrufen von Befehlen bereit. Vollständige Skriptinformationen finden Sie in der Windows PowerShell-Sprachreferenz, die mit Windows PowerShell ausgeliefert wurde.
Erweitertes Typsystem (Extended Type System, ETS)
Windows PowerShell bietet Zugriff auf eine Vielzahl verschiedener Objekte, z. B. .NET- und XML-Objekte. Um eine gemeinsame Abstraktion für alle Objekttypen darzustellen, verwendet die Shell das erweiterte Typsystem (ETS). Die meisten ETS-Funktionen sind für den Benutzer transparent, aber das Skript oder .NET-Entwickler verwendet sie für die folgenden Zwecke:
Anzeigen einer Teilmenge der Elemente bestimmter Objekte. Windows PowerShell bietet eine "angepasste" Ansicht mehrerer bestimmter Objekttypen.
Hinzufügen von Elementen zu vorhandenen Objekten.
Zugriff auf serialisierte Objekte.
Schreiben von benutzerdefinierten Objekten.
Mithilfe von ETS können Sie flexible neue "Typen" erstellen, die mit der Windows PowerShell-Sprache kompatibel sind. Wenn Sie .NET-Entwickler sind, können Sie mit Objekten arbeiten, die dieselbe Semantik wie die Windows PowerShell-Sprache für Skripts verwenden, um beispielsweise zu ermitteln, ob ein Objekt als
true
ausgewertet wird.Weitere Informationen zu ETS und zur Verwendung von Objekten in Windows PowerShell finden Sie unter Windows PowerShell-Objektkonzepte.
Programmieren für Windows PowerShell
Windows PowerShell definiert seinen Code für Befehle, Anbieter und andere Programmmodule mithilfe von .NET Framework. Sie sind nicht auf die Verwendung von Microsoft Visual Studio beim Erstellen von benutzerdefinierten Modulen für Windows PowerShell beschränkt, obwohl die in diesem Handbuch enthaltenen Beispiele bekannt sind, die in diesem Tool ausgeführt werden. Sie können jede .NET-Sprache verwenden, die die Klassenvererbung und die Verwendung von Attributen unterstützt. In einigen Fällen erfordern Windows PowerShell-APIs die Programmiersprache, um auf generische Typen zugreifen zu können.
Programmierreferenz
Eine Referenz bei der Entwicklung für Windows PowerShell finden Sie im Windows PowerShell SDK-.
Erste Schritte mit Windows PowerShell
Weitere Informationen zum Starten der Verwendung der Windows PowerShell-Shell finden Sie in den Erste Schritte mit Windows PowerShell mit Windows PowerShell ausgeliefert. Ein Kurzübersichtsdokument zur dreifach gefalteten Dokument wird auch als Primer für die Verwendung von Cmdlets bereitgestellt.
Inhalt dieses Handbuchs
Thema | Definition |
---|---|
Erstellen eines Windows PowerShell-Anbieters | In diesem Abschnitt wird beschrieben, wie Sie einen Windows PowerShell-Anbieter für Windows PowerShell erstellen. |
Erstellen einer Windows PowerShell-Hostanwendung | In diesem Abschnitt wird beschrieben, wie Sie eine Hostanwendung schreiben, die einen Runspace bearbeitet, und wie Sie eine Hostanwendung schreiben, die einen eigenen benutzerdefinierten Host implementiert. |
Erstellen eines Windows PowerShell-Snap-Ins | In diesem Abschnitt wird beschrieben, wie Sie ein Snap-In erstellen, das zum Registrieren aller Cmdlets und Anbieter in einer Assembly und zum Erstellen eines benutzerdefinierten Snap-Ins verwendet wird. |
Erstellen einer Konsolenshell- | In diesem Abschnitt wird beschrieben, wie Sie eine Konsolenshell erstellen, die nicht erweiterbar ist. |
Windows PowerShell-Konzepte | Dieser Abschnitt enthält konzeptionelle Informationen, die Ihnen helfen, Windows PowerShell aus der Sicht eines Entwicklers zu verstehen. |