Freigeben über


Write-Output

Schreibt die angegebenen Objekte in die Pipeline.

Syntax

Default (Standardwert)

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

Beschreibung

Schreibt die angegebenen Objekte in die Pipeline. Wenn Write-Output der letzte Befehl in der Pipeline ist, werden die Objekte in der Konsole angezeigt.

Write-Output sendet die Objekte in die primäre Pipeline, die auch als Erfolgsstream bezeichnet wird. Verwenden Sie Write-Error, um Fehlerobjekte an den Fehlerstream zu senden.

Dieses Cmdlet wird in der Regel in Skripts zum Anzeigen von Zeichenfolgen und anderen Objekten auf der Konsole verwendet. Einer der integrierten Aliase für Write-Output ist echo, ähnlich wie andere Shells, die echo verwenden. Das Standardverhalten besteht darin, die Ausgabe am Ende einer Pipeline anzuzeigen. In PowerShell ist es in der Regel 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 es kann echo "Home directory: $HOME" geschrieben werden, "Home directory: $HOME".

Standardmäßig zählt Write-Output Objekte in einer Sammlung auf. Write-Output kann jedoch auch Auflistungen als ein einzelnes Objekt mithilfe des NoEnumerate-Parameters weitergeben.

Beispiele

Beispiel 1: Abrufen von Objekten und Ausgabe auf die Konsole

In diesem Beispiel werden die Ergebnisse des Cmdlets Get-Process in der variablen $P gespeichert. Das Cmdlet Write-Output zeigt die Prozessobjekte in $P der Konsole an.

$P = Get-Process
Write-Output $P

Beispiel 2: Übergeben der Ausgabe an ein anderes Cmdlet

Mit diesem Befehl wird die Zeichenfolge „test output“ über die Pipeline an das Get-Member-Cmdlet übergeben, das die Elemente der System.String-Klasse anzeigt, wodurch veranschaulicht wird, dass die Zeichenfolge über die Pipeline übergeben wurde.

Write-Output "test output" | Get-Member

Beispiel 3: Unterdrücken der Enumeration in der Ausgabe

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

Write-Output 1,2,3 | Measure-Object
Count    : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-Object
Count    : 1
...

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 Ausdruck ein, der die Objekte ermittelt.

Parametereigenschaften

Typ:

PSObject[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:0
Obligatorisch.:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-NoEnumerate

Standardmäßig listet das Write-Output-Cmdlet die Ausgabe immer auf. Der Parameter NoEnumerate unterdrückt das Standardverhalten und verhindert, dass Write-Output die Ausgabe aufzählt. Der NoEnumerate Parameter hat keine Auswirkung, wenn der Befehl in Klammern eingeschlossen wird, da die Aufzählung durch die Klammern erzwungen wird. Beispielsweise zählt (Write-Output 1,2,3 -NoEnumerate) das Array weiterhin auf.

Der NoEnumerate-Parameter ist nur in einer Pipeline nützlich. Der Versuch, die Auswirkungen von NoEnumerate in der Konsole zu sehen, ist problematisch, da PowerShell am Ende jeder Befehlszeile Out-Default hinzufügt, was zu einer Enumeration führt. Wenn Sie jedoch Write-Output -NoEnumerate an ein anderes Cmdlet weiterleiten, empfängt das nachgeschaltete Cmdlet das Aufzählungsobjekt, nicht die aufgezählten Elemente der Aufzählung.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

PSObject

Sie können Objekte an dieses Cmdlet weiterleiten.

Ausgaben

PSObject

Dieses Cmdlet gibt die Objekte zurück, die als Eingabe übermittelt werden.

Hinweise

PowerShell enthält die folgenden Aliase für Write-Output:

  • Alle Plattformen:

    • echo
  • Fenster:

    • write