Sendet die angegebenen Objekte an den nächsten Befehl in der Pipeline. Wenn der Befehl der letzte Befehl in der Pipeline ist, werden die Objekte in der Konsole angezeigt.
Syntax
Beschreibung
Das Cmdlet Write-Output
sendet das angegebene Objekt über die Pipeline an den nächsten Befehl. Wenn der Befehl der letzte Befehl in der Pipeline ist, das Objekt wird in der Konsole angezeigt.
Write-Output
sendet Objekte über die primäre Pipeline, die auch als „Ausgabestream“ oder „Erfolgspipeline“ bezeichnet wird. Verwenden Sie Write-Error, um Fehlerobjekte über die Fehlerpipeline zu senden.
Dieses Cmdlet wird normalerweise in Skripten verwendet, um Zeichenfolgen und andere Objekte auf der Konsole anzuzeigen. Einer der integrierten Aliase für Write-Output
ist echo
und ähnelt anderen Shells, die echo
Das Standardverhalten besteht darin, die Ausgabe am Ende einer Pipeline anzuzeigen. In PowerShell ist es im Allgemeinen nicht erforderlich, das Cmdlet in Fällen zu verwenden, in denen die Ausgabe standardmäßig angezeigt wird. Beispielsweise entspricht Get-Process | Write-Output
Get-Process
. Oder echo "Home directory: $HOME"
kann geschrieben werden, "Home directory: $HOME"
.
Standardmäßig Write-Output
zählt durch Sammlungen auf, die dem Cmdlet zur Verfügung gestellt werden. Write-Output
kann jedoch auch verwendet werden, um Sammlungen mit dem Parameter NoEnumerate als einzelnes Objekt in der Pipeline zu übergeben.
Beispiele
Beispiel 1: Objekte abrufen und in die Konsole schreiben
Mit dem ersten Befehl werden Prozesse auf dem Computer ausgeführt und in der $P
Variable.
Der zweite und dritte Befehl zeigen die Prozessobjekte in $P
auf der Konsole an.
Beispiel 2: Ausgabe übergeben an ein anderes Cmdlet
Dieser Befehl leitet die Zeichenfolge „test output“ an das Cmdlet Get-Member
weiter, in dem das Cmdlet angezeigt wird Mitglieder der System.String-Klasse, die zeigen, dass die Zeichenfolge entlang der Pipeline übergeben wurde.
Beispiel 3: Unterdrücken Sie die Aufzählung in der Ausgabe
Dieser Befehl fügt den Parameter NoEnumerate hinzu, um eine Sammlung oder ein Array als einzelnes Objekt durch die Pipeline zu behandeln.
Parameter
Gibt die Objekte an, die über die Pipeline gesendet werden sollen. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder Ausdruck ein, der die Objekte abruft.
Typ: | PSObject |
Position: | 0 |
Standardwert: | Keine |
Pipeline-Eingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
Standardmäßig ist die Write-Output
Cmdlet listet immer seine Ausgabe auf. Die NoEnumerate-Parameter unterdrücken das Standardverhalten und verhindern, dass Write-Output
die Ausgabe auflistet. Der Parameter NoEnumerate hat keine Auswirkung, wenn der Befehl in Klammern eingeschlossen ist, da die Klammern die Aufzählung erzwingen. Beispiel: (Write-Output 1,2,3)
listet das Array weiterhin auf.
Hinweis
Dieser Schalter funktioniert nur mit PowerShell Core 6.2 und höher ordnungsgemäß. In älteren Versionen von PowerShell Core wird die Sammlung auch bei Verwendung dieses Schalters noch aufgelistet.
Typ: | SwitchParameter |
Position: | Benannt |
Standardwert: | Keine |
Pipeline-Eingabe akzeptieren: | Falsch |
Platzhalterzeichen akzeptieren: | False |
Eingaben
PSObject
Sie können Pipe-Objekte an Write-Output
.
Ausgaben
PSObject
Write-Output
gibt die Objekte zurück, die als Eingabe gesendet wurden.
- about_Output_Streams
- about_Redirection
- Tee-Object
- Write-Debug
- Schreibfehler
- Schreibhost
- Schreibinformationen
- Schreibfortschritt
- Schreibverbose
- Schreibwarnung