Write-Output

Envoie les objets spécifiés à la commande suivante du pipeline. Si la commande est la dernière commande du pipeline, les objets sont affichés sur la console.

Syntax

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

Description

L’applet Write-Output de commande envoie l’objet spécifié vers le bas du pipeline à la commande suivante. Si la commande est la dernière commande du pipeline, l'objet est affiché sur la console.

Write-Output envoie des objets vers le bas du pipeline principal, également appelé « flux de sortie » ou « pipeline de réussite ». Pour envoyer des objets d’erreur vers le bas du 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 les collections fournies à l’applet de commande. Toutefois, Write-Output peut également être utilisé pour transmettre des regroupements vers le bas du pipeline en tant qu’objet unique avec le paramètre NoEnumerate .

Exemples

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

$P = Get-Process
Write-Output $P

La première commande obtient les processus s’exécutant sur l’ordinateur et les stocke dans la $P variable.

Les deuxième et troisième commandes affichent les objets de processus dans $P la console.

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

Write-Output "test output" | Get-Member

Cette commande transmet la chaîne « test output » à 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.

Exemple 3 : Supprimer l’énumération dans la sortie

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

Count    : 3
...

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

Count    : 1
...

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

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 Write-Output de 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.

Notes

Ce commutateur fonctionne correctement avec PowerShell Core 6.2 et versions ultérieures. Sur les versions antérieures de PowerShell Core, la collection est toujours énumérée même avec l’utilisation de ce commutateur.

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 soumis en tant qu’entrée.