Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

RemoteRunspace01 Sample

 

This sample shows how to create a remote runspace that is used to establish a remote connection.

Requirements

This sample requires Windows PowerShell 2.0.

Demonstrates

This sample demonstrates the following:

Example

This sample defines a remote connection and then uses that connection information to establish a remote connection.

namespace Microsoft.Samples.PowerShell.Runspaces
{
  using System;
  using System.Management.Automation;             // Windows PowerShell namespace.
  using System.Management.Automation.Runspaces;   // Windows PowerShell namespace.

  /// <summary>
  /// This class contains the Main enrty point for the application.
  /// </summary>
  internal class RemoteRunspace01
  {
    /// <summary>
    /// This sample shows how to use a WSManConnectionInfo object to set
    /// various timeouts and how to establish a remote connection.
    /// </summary>
    /// <param name="args">This parameter is not used.</param>
    public static void Main(string[] args)
    {
      // Create a WSManConnactionInfo object using the default constructor 
      // to connect to the "localHost". The WSManConnectionInfo object can 
      // also specify connections to remote computers.
      WSManConnectionInfo connectionInfo = new WSManConnectionInfo();

      // Set the OpertationTimeout property. The OperationTimeout is used to tell 
      // Windows PowerShell how long to wait (in milliseconds) before timing out 
      // for any operation. This includes sending input data to the remote computer, 
      // receiving output data from the remote computer, and more. The user can 
      // change this timeout depending on whether the connection is to a computer 
      // in the data center or across a slow WAN.
      connectionInfo.OperationTimeout = 4 * 60 * 1000; // 4 minutes.

      // Set the OpenTimeout property. OpenTimeout is used to tell Windows PowerShell 
      // how long to wait (in milliseconds) before timing out while establishing a 
      // remote connection. The user can change this timeout depending on whether the 
      // connection is to a computer in the data center or across a slow WAN.
      connectionInfo.OpenTimeout = 1 * 60 * 1000; // 1 minute.

      // Create a remote runspace using the connection information.
      using (Runspace remoteRunspace = RunspaceFactory.CreateRunspace(connectionInfo))
      {
        // Establish the connection by calling the Open() method to open the runspace. 
        // The OpenTimeout value set previously will be applied while establishing 
        // the connection. Establishing a remote connection involves sending and 
        // receiving some data, so the OperationTimeout will also play a role in this process.
        remoteRunspace.Open();

        // Add the code to run commands in the remote runspace here. The 
        // OperationTimeout value set previously will play a role here because 
        // running commands involves sending and receiving data.

        // Close the connection. Call the Close() method to close the remote 
        // runspace. The Dispose() method (called by using primitive) will call 
        // the Close() method if it is not already called.
        remoteRunspace.Close();
      }
    }
  }
}

Show: