Write-Output
Hiermee worden de opgegeven objecten naar de pijplijn geschreven. Als Write-Output
de laatste opdracht in de pijplijn is, worden de objecten weergegeven in de console.
Syntax
Write-Output
[-InputObject] <PSObject[]>
[-NoEnumerate]
[<CommonParameters>]
Description
Hiermee worden de opgegeven objecten naar de pijplijn geschreven. 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 de 'uitvoerstroom' of de 'geslaagde pijplijn' genoemd. Gebruik Write-Error
om foutobjecten naar de foutpijplijn te verzenden.
Deze cmdlet wordt doorgaans gebruikt in scripts om tekenreeksen en andere objecten op de console weer te geven. Een van de ingebouwde aliassen voor Write-Output
is en is echo
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 exemplaren waar de uitvoer standaard wordt weergegeven. Get-Process | Write-Output
is bijvoorbeeld gelijk aan Get-Process
. Of, echo "Home directory: $HOME"
kan worden geschreven, "Home directory: $HOME"
.
Inventariseert standaard Write-Output
verzamelingsobjecten. Kan echter Write-Output
ook worden gebruikt om verzamelingen door te geven 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 Get-Process
cmdlet opgeslagen in de $P
variabele. De Write-Output
cmdlet geeft de procesobjecten in $P
de console weer.
$P = Get-Process
Write-Output $P
Voorbeeld 2: Uitvoer doorgeven aan een andere cmdlet
Met deze opdracht wordt de tekenreeks 'testuitvoer' doorgegeven aan de Get-Member
cmdlet, die de leden van de klasse System.String weergeeft, waarmee wordt aangegeven dat de tekenreeks is doorgegeven via de pijplijn.
Write-Output "test output" | Get-Member
Voorbeeld 3: Opsomming in uitvoer onderdrukken
Met deze opdracht wordt de parameter NoEnumerate toegevoegd om een verzameling of matrix als één object te behandelen via de pijplijn.
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 voor het verzenden van de pijplijn. 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 |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoEnumerate
Standaard inventariseert de cmdlet altijd de Write-Output
uitvoer. De parameter NoEnumerate onderdrukt het standaardgedrag en voorkomt dat Write-Output
uitvoer wordt opgesomd. De parameter NoEnumerate heeft geen effect als de opdracht tussen haakjes staat, omdat de haakjes opsomming afdwingen. De matrix wordt bijvoorbeeld (Write-Output 1,2,3)
nog steeds opgesomd.
De parameter NoEnumerate is alleen nuttig binnen een pijplijn. Het is problematisch om de effecten van NoEnumerate in de console te zien, omdat PowerShell wordt toegevoegd Out-Default
aan het einde van elke opdrachtregel, wat resulteert in opsomming. Maar als u doorsluist Write-Output -NoEnumerate
naar een andere cmdlet, ontvangt de downstream-cmdlet het verzamelingsobject, niet de geïnventareerde items van de verzameling.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
U kunt objecten doorsluisen naar Write-Output
.
Uitvoerwaarden
Write-Output
retourneert de objecten die als invoer worden verzonden.