Freigeben über


Write-Output

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

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

Beschreibung

Das Write-Output Cmdlet sendet das angegebene Objekt in der Pipeline an den nächsten Befehl. Wenn der Befehl der letzte Befehl in der Pipeline ist, wird das Objekt in der Konsole angezeigt.

Write-Output sendet Objekte in 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 in der Regel in Skripts verwendet, um Zeichenfolgen und andere Objekte in der Konsole anzuzeigen. Einer der integrierten Aliase für Write-Output ist echo und ähnelt anderen Shells, die verwenden echo, das Standardverhalten besteht darin, die Ausgabe am Ende einer Pipeline anzuzeigen. In PowerShell ist es im Allgemeinen nicht erforderlich, das Cmdlet in Instanzen zu verwenden, in denen die Ausgabe standardmäßig angezeigt wird. Get-Process | Write-Output entspricht beispielsweise Get-Process. Oder, echo "Home directory: $HOME" kann geschrieben werden, "Home directory: $HOME".

Standardmäßig werden sammlungen aufgelistet, Write-Output die für das Cmdlet bereitgestellt werden. Kann jedoch auch verwendet werden, Write-Output um Auflistungen über die Pipeline als einzelnes Objekt mit dem NoEnumerate-Parameter zu übergeben.

Beispiele

Beispiel 1: Abrufen von Objekten und Schreiben in die Konsole

$P = Get-Process
Write-Output $P

Der erste Befehl ruft Prozesse ab, die auf dem Computer ausgeführt werden, und speichert sie in der $P Variablen.

Der zweite und der dritte Befehl zeigen die Prozessobjekte in $P auf der Konsole an.

Beispiel 2: Übergeben der Ausgabe an ein anderes Cmdlet

Write-Output "test output" | Get-Member

Dieser Befehl leitet die Zeichenfolge "test output" an das Get-Member Cmdlet weiter, das die Member der System.String-Klasse anzeigt, wodurch veranschaulicht wird, dass die Zeichenfolge entlang der Pipeline übergeben wurde.

Beispiel 3: Unterdrücken der Enumeration in der Ausgabe

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

Count    : 3
...

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

Count    : 1
...

Dieser Befehl fügt den Parameter NoEnumerate hinzu, um eine Auflistung oder ein Array als einzelnes Objekt über die Pipeline zu behandeln.

Parameter

-InputObject

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 einen Ausdruck ein, mit dem die Objekte abgerufen werden.

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

-NoEnumerate

Standardmäßig listet das Write-Output Cmdlet immer seine Ausgabe auf. Der NoEnumerate-Parameter unterdrückt das Standardverhalten und verhindert, dass Write-Output die Ausgabe aufgezählt wird. Der NoEnumerate-Parameter hat keine Auswirkung, wenn der Befehl in Klammern umschlossen wird, da die Klammern die Enumeration erzwingen. Zählt beispielsweise (Write-Output 1,2,3) weiterhin das Array auf.

Hinweis

Dieser Schalter funktioniert nur ordnungsgemäß mit PowerShell Core 6.2 und höher. In älteren Versionen von PowerShell Core wird die Sammlung auch bei Verwendung dieses Schalters weiterhin aufgezählt.

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

Eingaben

PSObject

Sie können -Objekte an übergeben Write-Output.

Ausgaben

PSObject

Write-Output gibt die Objekte zurück, die als Eingabe übermittelt werden.