Windows PowerShell 2.0中的运行空间是什么?


14

今天,我收听了有关PowerShell 2.0HanselMinutes播客。Scott Hanselman在TechEd 2009上采访了Hal Rottenberg和Kirk Munro。

他们讨论了PowerShell 2.0中的RunSpaces。有人可以解释其背后的概念,并给出一些(实际的)用例或示例吗?

谢谢!

Answers:


17

运行空间是PowerShell的特定实例,其中包含可修改的命令,提供程序,变量,函数和语言元素的集合,这些集合可用于命令行用户(或更通用地说,可用于“主机”应用程序)。

一般来说,运行空间是开发人员的主题。如果您使用的是命令行,则只能通过修改session来进行修改;如果您是典型的命令行用户,则除非您使用Sessions进行远程连接,否则您甚至根本不会意识到Session。到另一台计算机。但是,每个会话都有一个关联的Runspace(或RunspacePool)来控制对您可用的内容,并且有可能创建“受约束的” Runspace,以便仅向用户提供对某些命令的访问权,而对其他命令则没有访问权限。

在PowerShell 2.0中,您使用RunspaceFactory类创建Runspaces或RunspacePool。您可以在MSDN上阅读有关Runspaces的更多信息。


3

以我的理解,PowerShell运行空间实际上是PowerShell运行时的隔离实例。

我最近有一些在Web应用程序中使用PowerShell运行空间来通过Web界面提供一些管理功能的经验。特别是,它允许多个用户同时使用应用程序,而不会互相影响。


3

PowerShell运行空间已过时。他们现在使用PowerShell会话(PSSession)。我建议从about_PSSessions帮助主题开始。


这篇文章对此有进一步的模糊之处:obscure-powershell-tidbits.blogspot.com/2008/12/…–
squillman

4
这不是真的。他们重命名了Cmdlet,因为最初Cmdlet的命名不正确:他们创建了会话,这可能会或可能不会创建新的Runspace;)但是Runspace和Session的基本概念并未改变。
Jaykul

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.