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
Vous pouvez diriger des objets vers Write-Output
.
Sorties
Write-Output
retourne les objets soumis en tant qu’entrée.