Write-Output

Skriver de angivna objekten till pipelinen. Om Write-Output är det sista kommandot i pipelinen visas objekten i konsolen.

Syntax

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

Description

Skriver de angivna objekten till pipelinen. Om Write-Output är det sista kommandot i pipelinen visas objekten i konsolen.

Write-Output skickar objekt till den primära pipelinen, även kallat "utdataströmmen" eller "lyckad pipeline". Om du vill skicka felobjekt till felpipelinen använder du Write-Error.

Den här cmdleten används vanligtvis i skript för att visa strängar och andra objekt i konsolen. Ett av de inbyggda aliasen för Write-Output är echo och liknar andra gränssnitt som använder echo. Standardbeteendet är att visa utdata i slutet av en pipeline. I PowerShell är det vanligtvis inte nödvändigt att använda cmdleten i instanser där utdata visas som standard. Get-Process | Write-Output motsvarar till exempel Get-Process. Eller så echo "Home directory: $HOME" kan skrivas, "Home directory: $HOME".

Som standard Write-Output räknas upp via samlingsobjekt. Write-Output Men kan också användas för att skicka samlingar nedåt i pipelinen som ett enda objekt med parametern NoEnumerate.

Exempel

Exempel 1: Hämta objekt och skriv dem till konsolen

I det här exemplet lagras resultatet av cmdleten Get-Process i variabeln $P . Cmdleten Write-Output visar processobjekten i $P konsolen.

$P = Get-Process
Write-Output $P

Exempel 2: Skicka utdata till en annan cmdlet

Det här kommandot skickar strängen "testutdata" till cmdleten Get-Member , som visar medlemmarna i klassen System.String , vilket visar att strängen skickades längs pipelinen.

Write-Output "test output" | Get-Member

Exempel 3: Utelämna uppräkning i utdata

Det här kommandot lägger till parametern NoEnumerate för att behandla en samling eller matris som ett enda objekt via pipelinen.

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

Count    : 3
...

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

Count    : 1
...

Parametrar

-InputObject

Anger vilka objekt som ska skickas ned i pipelinen. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten.

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

-NoEnumerate

Som standard räknar cmdleten Write-Output alltid upp dess utdata. Parametern NoEnumerate undertrycker standardbeteendet och förhindrar att utdata räknas Write-Output upp. Parametern NoEnumerate har ingen effekt om kommandot omsluts av parenteser, eftersom parenteserna tvingar uppräkning. Till exempel (Write-Output 1,2,3) räknar fortfarande upp matrisen.

Parametern NoEnumerate är bara användbar i en pipeline. Det är problematiskt att försöka se effekterna av NoEnumerate i konsolen eftersom PowerShell lägger Out-Default till i slutet av varje kommandorad, vilket resulterar i uppräkning. Men om du skickar till Write-Output -NoEnumerate en annan cmdlet tar den underordnade cmdleten emot samlingsobjektet, inte de uppräknade objekten i samlingen.

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

Indata

PSObject

Du kan skicka objekt till Write-Output.

Utdata

PSObject

Write-Output returnerar de objekt som skickas som indata.