Freigeben über


Installieren das Windows PowerShell SDK

Gilt für: Windows PowerShell 2.0, Windows PowerShell 3.0

Im folgenden Thema wird beschrieben, wie Sie das PowerShell SDK in verschiedenen Versionen von Windows installieren.

Installieren des Windows PowerShell 3.0 SDK für Windows 8 und Windows Server 2012

Windows PowerShell 3.0 wird automatisch mit Windows 8 und Windows Server 2012 installiert. Darüber hinaus können Sie die Referenzassemblys für Windows PowerShell 3.0 als Teil des Windows 8 SDK herunterladen und installieren. Mit diesen Assemblys können Sie Cmdlets, Anbieter und Hostprogramme für Windows PowerShell 3.0 schreiben. Wenn Sie das Windows SDK für Windows 8 installieren, werden die Windows PowerShell-Assemblys automatisch im Referenzassemblysordner \Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0installiert. Weitere Informationen finden Sie auf der Windows 8 SDK-Downloadwebsite. Windows PowerShell-Codebeispiele sind auch in den powershell-sdk-samples Repository verfügbar.

Verweisassemblys

Referenzassemblys werden standardmäßig an folgendem Speicherort installiert: C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0.

Hinweis

Code, der mit den Windows PowerShell 2.0-Assemblys kompiliert wird, kann nicht in Windows PowerShell 1.0-Installationen geladen werden. Code, der mit den Windows PowerShell 1.0-Assemblys kompiliert wird, kann jedoch in Windows PowerShell 2.0-Installationen geladen werden.

Beispiele

Codebeispiele werden standardmäßig an folgendem Speicherort installiert: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\. Die folgenden Abschnitte enthalten eine kurze Beschreibung der Funktionsweise der einzelnen Beispiele.

Cmdlet-Beispiele

  • GetProcessSample01 – Zeigt, wie Sie ein einfaches Cmdlet schreiben, das alle Prozesse auf dem lokalen Computer abruft.
  • GetProcessSample02 – Zeigt, wie Sie dem Cmdlet Parameter hinzufügen. Das Cmdlet verwendet einen oder mehrere Prozessnamen und gibt die übereinstimmenden Prozesse zurück.
  • GetProcessSample03 – Zeigt, wie Parameter hinzugefügt werden, die Eingaben aus der Pipeline akzeptieren.
  • GetProcessSample04 – Zeigt, wie nicht beendete Fehler behandelt werden.
  • GetProcessSample05 – Zeigt, wie eine Liste der angegebenen Prozesse angezeigt wird.
  • SelectObject – Zeigt, wie sie einen Filter schreiben, um nur bestimmte Objekte auszuwählen.
  • SelectString – Zeigt, wie Dateien nach angegebenen Mustern durchsucht werden.
  • StopProcessSample01 – Zeigt, wie ein PassThru-Parameter implementiert wird und wie Benutzerfeedback durch Aufrufe der Methoden ShouldProcess und ShouldContinue angefordert wird. Benutzer geben den PassThru-Parameter an, wenn sie erzwingen möchten, dass das Cmdlet ein Objekt zurückgibt.
  • StopProcessSample02 – Zeigt, wie ein bestimmter Prozess beendet wird.
  • StopProcessSample03 – Zeigt, wie Aliase für Parameter deklariert werden und wie Wildcards unterstützt werden.
  • StopProcessSample04 – Zeigt, wie Parametersätze deklariert werden, das Objekt, das das Cmdlet als Eingabe verwendet, und wie der zu verwendende Standardparameter angegeben wird.

Remotingbeispiele

  • RemoteRunspace01 – Zeigt, wie Sie einen Remoterunspace erstellen, der zum Herstellen einer Remoteverbindung verwendet wird.
  • RemoteRunspacePool01 – Zeigt, wie Sie einen Remote-Runspace-Pool erstellen und wie Sie mehrere Befehle gleichzeitig mithilfe dieses Pools ausführen.
  • Serialisierung01 – Zeigt, wie Sie eine vorhandene .NET-Klasse betrachten und sicherstellen, dass Informationen aus ausgewählten öffentlichen Eigenschaften dieser Klasse über serialisierungs-/Deserialisierung hinweg beibehalten werden.
  • Serialisierung02 – Zeigt, wie Sie eine vorhandene .NET-Klasse betrachten und sicherstellen, dass Informationen aus einer Instanz dieser Klasse über serialisierung/Deserialisierung beibehalten werden, wenn die Informationen in öffentlichen Eigenschaften der Klasse nicht verfügbar sind.
  • Serialisierung03 – Zeigt, wie Sie eine vorhandene .NET-Klasse betrachten und sicherstellen, dass Instanzen dieser Klasse und abgeleiteter Klassen in live .NET-Objekte deserialisiert (rehydratiert) werden.

Ereignisbeispiele

  • Event01 : Zeigt, wie Sie ein Cmdlet für die Ereignisregistrierung erstellen, indem sie von ObjectEventRegistrationBase abgeleitet werden.
  • Event02 – Zeigt, wie Sie Benachrichtigungen über Windows PowerShell-Ereignisse empfangen, die auf Remotecomputern generiert werden. Es verwendet das PSEventReceived-Ereignis, das über die Runspace-Klasse verfügbar gemacht wird.

Hostinganwendungsbeispiele

  • Runspace01 – Zeigt, wie Sie die PowerShell-Klasse verwenden, um das Get-Process Cmdlet synchron auszuführen. Das Cmdlet Get-Process gibt Prozessobjekte für jeden Prozess zurück, der auf dem lokalen Computer ausgeführt wird.
  • Runspace02 – Zeigt, wie Sie die PowerShell-Klasse verwenden, um die Get-Process und Sort-Object Cmdlets synchron auszuführen. Das Cmdlet Get-Process gibt Process-Objekte für jeden Prozess zurück, der auf dem lokalen Computer ausgeführt wird, und die Sort-Object sortiert die Objekte basierend auf ihrer ID-Eigenschaft. Die Ergebnisse dieser Befehle werden mithilfe eines DataGridView-Steuerelements angezeigt.
  • Runspace03 – Zeigt, wie Sie mithilfe der PowerShell-Klasse ein Skript synchron ausführen und wie Sie nicht beendete Fehler behandeln. Das Skript empfängt eine Liste der Prozessnamen und ruft diese Prozesse ab. Die Ergebnisse des Skripts, einschließlich aller nicht beendeten Fehler, die beim Ausführen des Skripts generiert wurden, werden in einem Konsolenfenster angezeigt.
  • Runspace04 – Zeigt, wie Sie die PowerShell-Klasse zum Ausführen von Befehlen verwenden und wie Sie Beendigungsfehler abfangen, die beim Ausführen der Befehle ausgelöst werden. Es werden zwei Befehle ausgeführt, und der letzte Befehl wird ein ungültiges Parameterargument übergeben. Daher werden keine Objekte zurückgegeben, und ein Beendigungsfehler wird ausgelöst.
  • Runspace05 – Zeigt, wie Sie einem InitialSessionState-Objekt ein Snap-In hinzufügen, damit das Cmdlet des Snap-Ins verfügbar ist, wenn der Runspace geöffnet wird. Das Snap-In stellt ein Get-Proc Cmdlet (definiert durch das GetProcessSample01-Beispiel) bereit, das synchron mit einem PowerShell-Objekt ausgeführt wird.
  • Runspace06 – Zeigt, wie Sie einem InitialSessionState-Objekt ein Modul hinzufügen, sodass das Modul beim Öffnen des Runspace geladen wird. Das Modul stellt ein Get-Proc-Cmdlet (definiert durch das GetProcessSample02-Beispiel) bereit, das synchron mit einem PowerShell-Objekt ausgeführt wird.
  • Runspace07 – Zeigt, wie Sie einen Runspace erstellen und dann diesen Runspace verwenden, um zwei Cmdlets synchron mit einem PowerShell-Objekt auszuführen.
  • Runspace08 – Zeigt, wie Sie der Pipeline eines PowerShell-Objekts Befehle und Argumente hinzufügen und die Befehle synchron ausführen.
  • Runspace09 – Zeigt, wie Sie der Pipeline eines PowerShell-Objekts ein Skript hinzufügen und wie das Skript asynchron ausgeführt wird. Ereignisse werden verwendet, um die Ausgabe des Skripts zu behandeln.
  • Runspace10 – Zeigt, wie Sie einen standardmäßigen anfänglichen Sitzungszustand erstellen, wie Sie dem InitialSessionState ein Cmdlet hinzufügen, wie Sie einen Runspace erstellen, der den ursprünglichen Sitzungszustand verwendet, und wie Sie den Befehl mit einem PowerShell-Objekt ausführen.
  • Runspace11 – Zeigt, wie Sie die ProxyCommand-Klasse verwenden, um einen Proxybefehl zu erstellen, der ein vorhandenes Cmdlet aufruft, aber den Satz der verfügbaren Parameter einschränkt. Der Proxybefehl wird dann zu einem anfänglichen Sitzungszustand hinzugefügt, der zum Erstellen eines eingeschränkten Runspaces verwendet wird. Dies bedeutet, dass der Benutzer nur über den Proxybefehl auf die Funktionalität des Cmdlets zugreifen kann.
  • PowerShell01 – Zeigt, wie Sie mit einem InitialSessionState-Objekt einen eingeschränkten Runspace erstellen.
  • PowerShell02 – Zeigt, wie Sie einen Runspace-Pool verwenden, um mehrere Befehle gleichzeitig auszuführen.

Hostbeispiele

  • Host01 : Zeigt, wie eine Hostanwendung implementiert wird, die einen benutzerdefinierten Host verwendet. In diesem Beispiel wird ein Runspace erstellt, der den benutzerdefinierten Host verwendet, und dann wird die PowerShell-API verwendet, um ein Skript auszuführen, das exitaufruft. Die Hostanwendung untersucht dann die Ausgabe des Skripts und druckt die Ergebnisse aus.
  • Host02 – Zeigt, wie Sie eine Hostanwendung schreiben, die die Windows PowerShell-Runtime zusammen mit einer benutzerdefinierten Hostimplementierung verwendet. Die Hostanwendung legt die Hostkultur auf Deutsch fest, führt das Cmdlet Get-Process aus und zeigt die Ergebnisse an, wie sie mithilfe von pwrsh.exeangezeigt werden. Anschließend werden die aktuellen Daten und Die aktuelle Uhrzeit in Deutsch gedruckt.
  • Host03 – Zeigt, wie Sie eine interaktive konsolenbasierte Hostanwendung erstellen, die Befehle aus der Befehlszeile liest, die Befehle ausführt, und zeigt dann die Ergebnisse in der Konsole an.
  • Host04 – Zeigt, wie Sie eine interaktive konsolenbasierte Hostanwendung erstellen, die Befehle aus der Befehlszeile liest, die Befehle ausführt, und zeigt dann die Ergebnisse in der Konsole an. Diese Hostanwendung unterstützt auch das Anzeigen von Eingabeaufforderungen, mit denen der Benutzer mehrere Auswahlmöglichkeiten angeben kann.
  • Host05 – Zeigt, wie Sie eine interaktive konsolenbasierte Hostanwendung erstellen, die Befehle aus der Befehlszeile liest, die Befehle ausführt, und zeigt dann die Ergebnisse in der Konsole an. Diese Hostanwendung unterstützt auch Aufrufe von Remotecomputern mithilfe der cmdlets Enter-PSSession und Exit-PSSession.
  • Host06 – Zeigt, wie Sie eine interaktive konsolenbasierte Hostanwendung erstellen, die Befehle aus der Befehlszeile liest, die Befehle ausführt, und zeigt dann die Ergebnisse in der Konsole an. Darüber hinaus verwendet dieses Beispiel die Tokenizer-APIs, um die Farbe des Texts anzugeben, der vom Benutzer eingegeben wird.

Anbieterbeispiele

  • AccessDBProviderSample01 – Zeigt, wie eine Anbieterklasse deklariert wird, die direkt von der CmdletProvider-Klasse abgeleitet wird. Sie ist hier nur für Vollständigkeit enthalten.

  • AccessDBProviderSample02 – Zeigt, wie die NewDrive- und RemoveDrive-Methoden überschrieben werden, um Aufrufe der New-PSDrive- und Remove-PSDrive-Cmdlets zu unterstützen. Die Anbieterklasse in diesem Beispiel wird von der DriveCmdletProvider-Klasse abgeleitet.

  • AccessDBProviderSample03 – Zeigt, wie die GetItem- und SetItem-Methoden überschrieben werden, um Aufrufe der Get-Item und Set-Item Cmdlets zu unterstützen. Die Anbieterklasse in diesem Beispiel wird von der ItemCmdletProvider-Klasse abgeleitet.

  • AccessDBProviderSample04 – Zeigt, wie Containermethoden überschrieben werden, um Aufrufe der Copy-Item, Get-ChildItem, New-Itemund Remove-Item Cmdlets zu unterstützen. Diese Methoden sollten implementiert werden, wenn der Datenspeicher Elemente enthält, die Container sind. Ein Container ist eine Gruppe untergeordneter Elemente unter einem allgemeinen übergeordneten Element. Die Anbieterklasse in diesem Beispiel wird von der ItemCmdletProvider-Klasse abgeleitet.

  • AccessDBProviderSample05 – Zeigt, wie Containermethoden überschrieben werden, um Aufrufe der Move-Item und Join-Path Cmdlets zu unterstützen. Diese Methoden sollten implementiert werden, wenn der Benutzer Elemente innerhalb eines Containers verschieben muss und wenn der Datenspeicher geschachtelte Container enthält. Die Anbieterklasse in diesem Beispiel wird von der NavigationCmdletProvider-Klasse abgeleitet.

  • AccessDBProviderSample06 – Zeigt, wie Inhaltsmethoden überschrieben werden, um Aufrufe der Clear-Content, Get-Contentund Set-Content Cmdlets zu unterstützen. Diese Methoden sollten implementiert werden, wenn der Benutzer den Inhalt der Elemente im Datenspeicher verwalten muss. Die Anbieterklasse in diesem Beispiel wird von der NavigationCmdletProvider-Klasse abgeleitet und implementiert die IContentCmdletProvider-Schnittstelle.