Freigeben über


Runspace-Beispiele

Dieser Abschnitt enthält Beispielcode, der zeigt, wie verschiedene Typen von Runspaces zum synchronen und asynchronen Ausführen von Befehlen verwendet werden. Sie können Microsoft Visual Studio verwenden, um eine Konsolenanwendung zu erstellen und dann den Code aus den Themen in diesem Abschnitt in Ihre Hostanwendung zu kopieren.

In diesem Abschnitt

Hinweis

Beispiele für Hostanwendungen, die benutzerdefinierte Hostschnittstellen erstellen, finden Sie unter Custom Host Samples.

Runspace01-Beispiel- In diesem Beispiel wird gezeigt, wie Sie die System.Management.Automation.PowerShell Klasse verwenden, um das cmdlet Get-Process synchron auszuführen und die Ausgabe in einem Konsolenfenster anzuzeigen.

Runspace02-Beispiel- In diesem Beispiel wird gezeigt, wie Sie die System.Management.Automation.PowerShell-Klasse verwenden, um die Get-Process- auszuführen, und Sort-Object- Cmdlets synchron auszuführen. Die Ergebnisse dieser Befehle werden mithilfe eines System.Windows.Forms.DataGridView--Steuerelements angezeigt.

Runspace03-Beispiel- In diesem Beispiel wird gezeigt, wie Sie die System.Management.Automation.PowerShell--Klasse verwenden, um ein Skript synchron auszufü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-Beispiel In diesem Beispiel wird gezeigt, wie Sie die System.Management.Automation.PowerShell--Klasse zum Ausführen von Befehlen verwenden und wie Sie Abbruchfehler 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-Beispiel In diesem Beispiel wird gezeigt, wie Sie einem System.Management.Automation.Runspaces.InitialSessionState-Objekt ein Snap-In hinzufügen, sodass das Cmdlet des Snap-Ins beim Öffnen des Runspaces verfügbar ist. Das Snap-In stellt ein Get-Proc-Cmdlet (definiert durch das GetProcessSample01-Beispiel-) bereit, das synchron mit einem System.Management.Automation.PowerShell--Objekt ausgeführt wird.

Runspace06-Beispiel In diesem Beispiel wird gezeigt, wie Sie einem System.Management.Automation.Runspaces.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 System.Management.Automation.PowerShell--Objekt ausgeführt wird.

Runspace07-Beispiel- In diesem Beispiel wird gezeigt, wie Sie einen Runspace erstellen und dann diesen Runspace verwenden, um zwei Cmdlets synchron mithilfe eines System.Management.Automation.PowerShell--Objekts auszuführen.

Runspace08-Beispiel In diesem Beispiel wird gezeigt, wie Sie der Pipeline eines System.Management.Automation.PowerShell-Objekts Befehle und Argumente hinzufügen und wie Sie die Befehle synchron ausführen.

Runspace09-Beispiel In diesem Beispiel wird gezeigt, wie Sie der Pipeline eines System.Management.Automation.PowerShell--Objekts und wie das Skript asynchron ausgeführt wird. Ereignisse werden verwendet, um die Ausgabe des Skripts zu behandeln.

Runspace10-Beispiel- In diesem Beispiel wird gezeigt, wie Sie einen Standardsitzungszustand erstellen, wie Sie dem System.Management.Automation.Runspaces.InitialSessionStateein Cmdlet hinzufügen, wie Sie einen Runspace erstellen, der den ursprünglichen Sitzungszustand verwendet, und wie Sie den Befehl mithilfe eines System.Management.Automation.PowerShell--Objekts ausführen.

Runspace11-Beispiel Hier erfahren Sie, wie Sie die System.Management.Automation.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.

Siehe auch