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