| external help file | Locale | Module Name | ms.date | online version | schema | title |
|---|---|---|---|---|---|---|
Microsoft.PowerShell.Commands.Utility.dll-Help.xml |
en-US |
Microsoft.PowerShell.Utility |
08/10/2021 |
2.0.0 |
Write-Output |
Write-Output
SYNOPSIS
Writes the specified objects to the pipeline. If Write-Output is the last command in the pipeline,
the objects are displayed in the console.
SYNTAX
Write-Output [-InputObject] <PSObject[]> [-NoEnumerate] [<CommonParameters>]
DESCRIPTION
Writes the specified objects to the pipeline. If Write-Output is the last command in the pipeline,
the objects are displayed in the console.
Write-Output sends objects to the primary pipeline, also known as the "output stream" or the
"success pipeline." To send error objects to the error pipeline, use Write-Error.
This cmdlet is typically used in scripts to display strings and other objects on the console. One of
the built-in aliases for Write-Output is echo and similar to other shells that use echo. The
default behavior is to display the output at the end of a pipeline. In PowerShell, it is generally
not necessary to use the cmdlet in instances where the output is displayed by default. For example,
Get-Process | Write-Output is equivalent to Get-Process. Or, echo "Home directory: $HOME" can
be written, "Home directory: $HOME".
By default, Write-Output enumerates through collection objects. However, Write-Output can also
be used to pass collections down the pipeline as a single object with the NoEnumerate parameter.
EXAMPLES
Example 1: Get objects and write them to the console
In this example, the results of the Get-Process cmdlet are stored in the $P variable. The
Write-Output cmdlet displays the process objects in $P to the console.
$P = Get-Process
Write-Output $PExample 2: Pass output to another cmdlet
This command pipes the "test output" string to the Get-Member cmdlet, which displays the members
of the System.String class, demonstrating that the string was passed along the pipeline.
Write-Output "test output" | Get-MemberExample 3: Suppress enumeration in output
This command adds the NoEnumerate parameter to treat a collection or array as a single object through the pipeline.
Write-Output 1,2,3 | Measure-ObjectCount : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-ObjectCount : 1
...
PARAMETERS
-InputObject
Specifies the objects to send down the pipeline. Enter a variable that contains the objects, or type a command or expression that gets the objects.
Type: System.Management.Automation.PSObject[]
Parameter Sets: (All)
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False-NoEnumerate
By default, the Write-Output cmdlet always enumerates its output. The NoEnumerate parameter
suppresses the default behavior, and prevents Write-Output from enumerating output. The
NoEnumerate parameter has no effect if the command is wrapped in parentheses, because the
parentheses force enumeration. For example, (Write-Output 1,2,3) still enumerates the array.
The NoEnumerate parameter is only useful within a pipeline. Trying to see the effects of
NoEnumerate in the console is problematic because PowerShell adds Out-Default to the end of
every command line, which results in enumeration. But if you pipe Write-Output -NoEnumerate to
another cmdlet, the downstream cmdlet receives the collection object, not the enumerated items of
the collection.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseCommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
INPUTS
System.Management.Automation.PSObject
You can pipe objects to Write-Output.
OUTPUTS
System.Management.Automation.PSObject
Write-Output returns the objects that are submitted as input.