今天我听了一个关于PowerShell 2.0的HanselMinutes播客。Scott Hanselman 在 TechEd 2009 上采访了 Hal Rottenberg 和 Kirk Munro。
他们谈到了PowerShell 2.0 中的RunSpaces。有人可以解释他们背后的概念并给出一些(现实世界的)用例或例子吗?
谢谢!
今天我听了一个关于PowerShell 2.0的HanselMinutes播客。Scott Hanselman 在 TechEd 2009 上采访了 Hal Rottenberg 和 Kirk Munro。
他们谈到了PowerShell 2.0 中的RunSpaces。有人可以解释他们背后的概念并给出一些(现实世界的)用例或例子吗?
谢谢!
运行空间是 PowerShell 的特定实例,它包含可修改的命令、提供程序、变量、函数和语言元素的集合,这些集合可供命令行用户(或更一般地说,对“主机”应用程序)可用。
一般来说,运行空间是一个开发者话题。如果您在命令行上,则只能通过修改session来修改它们,如果您是典型的命令行用户,您甚至不会真正意识到 Sessions 除非您使用它们进行远程连接到另一台计算机。但是,每个会话都有一个关联的运行空间(或RunspacePool)来控制您可以使用的内容,并且可以创建“受约束的”运行空间,以便只允许用户访问某些命令而不是其他命令......
在 PowerShell 2.0 中,您使用RunspaceFactory类来创建 Runspaces 或 RunspacePool。您可以在 MSDN 上阅读有关运行空间的更多信息
以我的理解,powershell 运行空间实际上是 powershell 运行时的隔离实例。
我最近有一些在 Web 应用程序中使用 PowerShell 运行空间的经验,通过 Web 界面提供一些管理功能。特别是它允许多个用户同时使用该应用程序,而不会相互影响。
PowerShell 运行空间是过时的术语。他们现在使用 PowerShell 会话 (PSSession)。我建议从about_PSSessions帮助主题开始。
以下是一些关于使用 Runspaces 和 RunspaceFactory 的工作示例:
http://www.nivot.org/2009/01/22/CTP3TheRunspaceFactoryAndPowerShellAccelerators.aspx
-Oisin