Was sind Runspaces in Windows PowerShell 2.0?

14

Heute habe ich mir einen HanselMinutes- Podcast über PowerShell 2.0 angehört . Scott Hanselman interviewte Hal Rottenberg und Kirk Munro auf der TechEd 2009.

Sie sprachen über RunSpaces in PowerShell 2.0. Kann jemand bitte das Konzept dahinter erklären und einige (reale) Anwendungsfälle oder Beispiele nennen?

Vielen Dank!

splattne
quelle

Antworten:

17

Ein Runspace ist eine bestimmte Instanz von PowerShell, die MODIFIABLE-Sammlungen von Befehlen, Anbietern, Variablen, Funktionen und Sprachelementen enthält, die dem Befehlszeilenbenutzer (oder allgemeiner der "Host" -Anwendung) zur Verfügung stehen.

Im Allgemeinen sind Runspaces ein Entwicklerthema . Wenn Sie sich in der Befehlszeile befinden, können Sie sie nur ändern, indem Sie Ihre Sitzung ändern. Wenn Sie ein typischer Befehlszeilenbenutzer sind, werden Sie nicht einmal über Sitzungen informiert, es sei denn, Sie verwenden sie, um eine Remoteverbindung herzustellen zu einem anderen Computer. Jeder Sitzung ist jedoch ein Runspace (oder RunspacePool ) zugeordnet, der steuert, was für Sie verfügbar ist, und es ist möglich, "eingeschränkte" Runspaces zu erstellen, um Benutzern nur Zugriff auf bestimmte Befehle und nicht auf andere zu gewähren.

In PowerShell 2.0 verwenden Sie die RunspaceFactory- Klasse, um Runspaces oder RunspacePool zu erstellen. Sie können mehr über Runspaces auf MSDN lesen

Jaykul
quelle
3

Ein Powershell-Runspace ist meines Erachtens praktisch eine isolierte Instanz der Powershell-Laufzeit.

Ich habe kürzlich einige Erfahrungen mit PowerShell-Runspaces in einer Webanwendung gesammelt, um einige Verwaltungsfunktionen über eine Weboberfläche bereitzustellen. Insbesondere wurde es mehreren Benutzern ermöglicht, die Anwendung gleichzeitig zu verwenden, ohne sich gegenseitig zu beeinträchtigen.

Sam Cogan
quelle
3

PowerShell-Runspace ist ein veralteter Begriff. Sie verwenden jetzt PowerShell-Sitzung (PSSession). Ich würde empfehlen, mit dem Hilfethema about_PSSessions zu beginnen.

Aleksandar
quelle
Dieser Beitrag hat ein weiteres bisschen Blurbage: obscure-powershell-tidbits.blogspot.com/2008/12/…
squillman
4
Das stimmt nicht wirklich . Sie haben die Cmdlets umbenannt, weil sie an erster Stelle ungenau benannt wurden: Sie erstellen Sitzungen, die möglicherweise einen neuen Runspace erstellen;) Das zugrunde liegende Konzept von Runspace und Sitzung hat sich jedoch nicht geändert.
Jaykul