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.

Pipeline.Invoke Method ()


Updated: April 27, 2016

Applies To: Windows PowerShell

Invokes the pipeline synchronously.

Namespace:   System.Management.Automation.Runspaces
Assembly:  System.Management.Automation (in System.Management.Automation.dll)

public Collection<PSObject> Invoke()

Return Value

Type: System.Collections.ObjectModel.Collection<PSObject>

An array of objects that contain the output of the pipeline. If the pipeline has no output, an empty collection is returned.

When this method is used to invoke the pipeline, the Windows PowerShell runtime closes the Input pipe.

This method cannot be called when another pipeline is running.

This method cannot be called multiple times on a given pipeline. The state of the pipeline must be NotStarted when Invoke is called. When this method is called, it changes the state of the pipeline to Running. When Invoke is completed, it changes the state of the pipeline to one of following:

  • Completed: The pipeline state is Completed if the pipeline invocation completed successfully.

  • Failed: The pipeline state is Failed if the pipeline invocation failed or one of the commands in the pipeline threw a terminating error.

  • Stopped: The pipeline state is Stopped if the pipeline was stopped by calling Stop or StopAsync.

Applications can get notified about pipeline state changes by registering for the StateChanged event. This event is raised each time the state of the pipeline changes.

Here is an example of calling this method after the pipeline is created.

Pipeline pipeLine = myRunSpace.CreatePipeline("GetProcPSSnapIn01\\get-proc");
Collection<PSObject> results = pipeLine.Invoke();

For an example of applications that use this class, see:

Configuring a Runspace Using RunspaceConfiguration [ps]

Configuring a Runspace Using a Windows PowerShell Snap-in [ps]

Return to top

Community Additions