Delen via


Write-Output

Hiermee schrijft u de opgegeven objecten naar de pijplijn.

Syntaxis

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

Description

Hiermee schrijft u de opgegeven objecten naar de pijplijn. Als Write-Output de laatste opdracht in de pijplijn is, worden de objecten weergegeven in de console.

Write-Output verzendt objecten naar de primaire pijplijn, ook wel bekend als de successtroom. Gebruik Write-Errorom foutobjecten naar de foutstroom te verzenden.

Deze cmdlet wordt meestal gebruikt in scripts om tekenreeksen en andere objecten op de console weer te geven. Een van de ingebouwde aliassen voor Write-Output is echo en vergelijkbaar met andere shells die gebruikmaken van echo. Het standaardgedrag is om de uitvoer aan het einde van een pijplijn weer te geven. In PowerShell is het over het algemeen niet nodig om de cmdlet te gebruiken in gevallen waarin de uitvoer standaard wordt weergegeven. Get-Process | Write-Output is bijvoorbeeld gelijk aan Get-Process. Met andere woorden, echo "Home directory: $HOME" kan worden geschreven als "Home directory: $HOME".

Standaard somt Write-Output de objecten in een verzameling op. Write-Output kan echter ook verzamelingen doorgeven aan de pijplijn als één object met de parameter NoEnumerate.

Voorbeelden

Voorbeeld 1: Objecten ophalen en naar de console schrijven

In dit voorbeeld worden de resultaten van de cmdlet Get-Process opgeslagen in de variabele $P. Met de cmdlet Write-Output worden de procesobjecten in $P naar de console weergegeven.

$P = Get-Process
Write-Output $P

Voorbeeld 2: Uitvoer doorgeven aan een andere cmdlet

Deze opdracht voert de tekenreeks 'testuitvoer' door naar de Get-Member-cmdlet, die de leden van de System.String-klasse weergeeft en daarmee laat zien dat de tekenreeks is doorgegeven aan de pipeline.

Write-Output "test output" | Get-Member

Voorbeeld 3: Opsomming onderdrukken in uitvoer

Met deze opdracht wordt de parameter NoEnumerate toegevoegd om een verzameling of matrix als één object via de pijplijn te behandelen.

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

Count    : 3
...

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

Count    : 1
...

Parameters

-InputObject

Hiermee geeft u de objecten op die naar de pijplijn moeten worden doorgegeven. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald.

Type:PSObject[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-NoEnumerate

De Write-Output cmdlet inventariseert standaard altijd de uitvoer. De parameter NoEnumerate onderdrukt het standaardgedrag en voorkomt dat Write-Output uitvoer opsommen. De parameter NoEnumerate heeft geen effect als de opdracht tussen haakjes is verpakt, omdat de haakjes opsomming afdwingen. (Write-Output 1,2,3 -NoEnumerate) bijvoorbeeld nog steeds de reeks opsommen.

De parameter NoEnumerate is alleen nuttig in een pijplijn. Het is problematisch om de effecten van NoEnumerate- in de console te zien, omdat PowerShell Out-Default toevoegt aan het einde van elke opdrachtregel, wat resulteert in opsomming. Maar als u Write-Output -NoEnumerate naar een andere cmdlet sluist, ontvangt de downstream-cmdlet het verzamelingsobject, niet de geïnventariseerd items van de verzameling.

Belangrijk

Er is een probleem met deze switch in Windows PowerShell die is opgelost in PowerShell 6.2 en hoger. Wanneer u NoEnumerate gebruikt en expliciet de parameter InputObject gebruikt, wordt de opdracht nog steeds opgesomd. U kunt dit omzeilen door de InputObject- argument(en) positioneel door te geven.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

PSObject

U kunt objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

PSObject

Met deze cmdlet worden de objecten geretourneerd die als invoer worden verzonden.

Notities

Windows PowerShell bevat de volgende aliassen voor Write-Output:

  • echo
  • write