Collapse the table of content
Expand the table of content
Expand Minimize
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.

Cmdlet.WriteObject Method (Object)

Writes a single object to the output pipeline.

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

Dim instance As Cmdlet
Dim sendToPipeline As Object


public void WriteObject (
	Object sendToPipeline
public void WriteObject (
	Object sendToPipeline
public function WriteObject (
	sendToPipeline : Object



The object to be written to the output pipeline.

The WriteObject method is used throughout a number of cmdlet code samples. The following sample, taken from the Modulecmdlets sample in the PowerShell SDK, uses WriteObject to pass a string down the pipeline.

  public class TestBinaryModuleCmdlet3Command : Cmdlet
      protected override void BeginProcessing()
          WriteObject("BinaryModuleCmdlet3 exported by the ModuleCmdlets module.");

Exception typeCondition

The pipeline is stopped. The pipeline was terminated either before the call was made or while the call was in progress. By default, the cmdlet should allow the caller of the processing record method to catch this exception.


The call cannot be completed at this time or cannot be completed from this thread. For more information, see the following Remarks section.

This method can be called only from within the implementation of an input processing method (BeginProcessing, ProcessRecord, and EndProcessing) and only from that thread. If the call is made from outside these implementations or from another thread, an InvalidOperationException exception is thrown.

This method sends a single object to the pipeline, regardless of whether the object is or is not a collection. To send a collection that is then enumerated by Windows PowerShell, see the Cmdlet.WriteObject(Object,Boolean) method.

Cmdlets can also write to the debug, error, progress, warning, and verbose data streams by using the following methods:

For more information about cmdlets, see Windows PowerShell Cmdlets.

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

© 2015 Microsoft