[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]
Provides a means to create a single runspace or a pool of runspaces.
Namespace: System.Management.Automation.Runspaces
Assembly: System.Management.Automation (in system.management.automation.dll)

Usage

Syntax
Public NotInheritable Class RunspaceFactory
public static class RunspaceFactory
public ref class RunspaceFactory abstract sealed
public final class RunspaceFactory
public final class RunspaceFactory

Example
This example creates a runspace, opens it synchronously, and then uses the runspace when the pipeline is invoked.
namespace HostPS4
{
using System;
using System.Management.Automation; // Windows PowerShell namespace.
using System.Management.Automation.Runspaces; // Windows PowerShell namespace.
class HostPS4
{
static void Main(string[] args)
{
// Call the CreateRunspace() method to create the
// runspace. This call does not specify any
// configuration information such as a custom host
// or initial session state information.
Runspace rs = RunspaceFactory.CreateRunspace();
rs.Open();
// Call the Create() method to create the PowerShell
// object, and then specify the runspace and
// create the pipeline.
PowerShell ps = PowerShell.Create();
ps.Runspace = rs;
ps.AddCommand("Get-Process").AddArgument("wmi*");
Console.WriteLine("Process Id");
Console.WriteLine("------------------------");
// Using the PowerShell object, invoke the pipeline
// synchronously.
foreach (PSObject result in ps.Invoke())
{
Console.WriteLine("{0,-20}{1}",
result.Members["ProcessName"].Value,
result.Members["Id"].Value);
} // End foreach.
// Close the runspace and release any resources.
rs.Close();
} // End Main.
} // End HostPS4.
}
For more examples of creating a single runspace, see Examples of Creating Runspaces

Remarks
A runspace is the operating environment used when invoking the commands of a pipeline. When you create a runspace pool, you create a set of runspaces that have the same features, such as the same initial session state, the same host, and the same information that is used to connect to a computer.
The following are some changes to this class that are introduced in Windows PowerShell 2.0.
A single runspace can be used by the PowerShell object to invoke a pipeline. See the PowerShell.Runspace property.
A pool of runspaces that have the same configuration can be used by the PowerShell object to invoke a pipeline. See the PowerShell.RunspacePool property.

Inheritance Hierarchy
System.Object System.Management.Automation.Runspaces.RunspaceFactory

Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms
Target Platforms
Windows 98, Windows 2000, Windows 2000 Server, Windows CE, Windows Server 2008, Windows 98 Second Edition, Pocket PC, Smart Phone, Windows Server 2003, Windows XP Professional, Windows Vista, Windows Server 2003 R2, Windows XP, Windows 7, Windows 2008 R2, Windows Developer Preview, Windows Server Developer Preview

Change History

See Also