RunspaceFactory Class

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)

public static class RunspaceFactory
public final class RunspaceFactory
public final class RunspaceFactory

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

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.


System.Object
  System.Management.Automation.Runspaces.RunspaceFactory

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

 

Target Platforms


Show:
© 2014 Microsoft