Partager via


Write-Output

Écrit les objets spécifiés dans le pipeline. Si Write-Output est la dernière commande du pipeline, les objets sont affichés dans la console.

Syntax

Write-Output
     [-InputObject] <PSObject[]>
     [-NoEnumerate]
     [<CommonParameters>]

Description

Écrit les objets spécifiés dans le pipeline. Si Write-Output est la dernière commande du pipeline, les objets sont affichés dans la console.

Write-Output envoie des objets au pipeline principal, également appelé « flux de sortie » ou « pipeline de réussite ». Pour envoyer des objets d’erreur au pipeline d’erreur, utilisez Write-Error.

Cette applet de commande est généralement utilisée dans les scripts pour afficher les chaînes et autres objets sur la console. L’un des alias intégrés pour Write-Output est echo et similaire à d’autres interpréteurs de commandes qui utilisent echo. Le comportement par défaut consiste à afficher la sortie à la fin d’un pipeline. Dans PowerShell, il n’est généralement pas nécessaire d’utiliser l’applet de commande dans les instances où la sortie est affichée par défaut. Par exemple, Get-Process | Write-Output équivaut à Get-Process. Ou, echo "Home directory: $HOME" peut être écrit, "Home directory: $HOME".

Par défaut, Write-Output énumère via des objets de collection. Toutefois, Write-Output peut également être utilisé pour transmettre des collections dans le pipeline en tant qu’objet unique avec le paramètre NoEnumerate .

Exemples

Exemple 1 : Obtenir des objets et les écrire dans la console

Dans cet exemple, les résultats de l’applet Get-Process de commande sont stockés dans la $P variable . L’applet Write-Output de commande affiche les objets de processus dans $P la console.

$P = Get-Process
Write-Output $P

Exemple 2 : Passer la sortie à une autre applet de commande

Cette commande envoie la chaîne de « sortie de test » à l’applet Get-Member de commande, qui affiche les membres de la classe System.String , ce qui montre que la chaîne a été transmise le long du pipeline.

Write-Output "test output" | Get-Member

Exemple 3 : Supprimer l’énumération en sortie

Cette commande ajoute le paramètre NoEnumerate pour traiter une collection ou un tableau comme un objet unique via le pipeline.

Write-Output 1,2,3 | Measure-Object

Count    : 3
...

Write-Output 1,2,3 -NoEnumerate | Measure-Object

Count    : 1
...

Paramètres

-InputObject

Spécifie les objets à envoyer dans le pipeline. Entrez une variable contenant les objets, ou tapez une commande ou une expression qui obtient ces objets.

Type:PSObject[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoEnumerate

Par défaut, l’applet de Write-Output commande énumère toujours sa sortie. Le paramètre NoEnumerate supprime le comportement par défaut et empêche Write-Output l’énumération de la sortie. Le paramètre NoEnumerate n’a aucun effet si la commande est encapsulée entre parenthèses, car les parenthèses forcent l’énumération. Par exemple, (Write-Output 1,2,3) énumère toujours le tableau.

Le paramètre NoEnumerate n’est utile que dans un pipeline. La tentative de voir les effets de NoEnumerate dans la console est problématique, car PowerShell ajoute Out-Default à la fin de chaque ligne de commande, ce qui entraîne l’énumération. Mais si vous dirigez Write-Output -NoEnumerate vers une autre applet de commande, l’applet de commande en aval reçoit l’objet de collection, et non les éléments énumérés de la collection.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

PSObject

Vous pouvez diriger des objets vers Write-Output.

Sorties

PSObject

Write-Output retourne les objets qui sont envoyés en tant qu’entrée.