Delen via


Tee-Object

Hiermee wordt de opdrachtuitvoer opgeslagen in een bestand of variabele en wordt deze ook naar beneden verzonden naar de pijplijn.

Syntax

File (Standaard)

Tee-Object
    [-FilePath] <String>
    [-InputObject <PSObject>]
    [-Append]
    [<CommonParameters>]

LiteralFile

Tee-Object
    -LiteralPath <String>
    [-InputObject <PSObject>]
    [<CommonParameters>]

Variable

Tee-Object
    -Variable <String>
    [-InputObject <PSObject>]
    [<CommonParameters>]

Description

De Tee-Object cmdlet stuurt uitvoer om, dat wil gezegd, de uitvoer van een opdracht in twee richtingen (zoals de letter T). De uitvoer wordt opgeslagen in een bestand of variabele en verzendt deze ook naar beneden in de pijplijn. Als Tee-Object- de laatste opdracht in de pijplijn is, wordt de opdrachtuitvoer weergegeven bij de prompt.

Voorbeelden

Voorbeeld 1: Uitvoerprocessen naar een bestand en naar de console

PS C:\> Get-Process | Tee-Object -FilePath "C:\Test1\testfile2.txt"
Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)    Id ProcessName
-------  ------    -----      ----- -----   ------    -- -----------
83       4     2300       4520    39     0.30    4032 00THotkey
272      6     1400       3944    34     0.06    3088 alg
81       3      804       3284    21     2.45     148 ApntEx
81       4     2008       5808    38     0.75    3684 Apoint
...

Met deze opdracht haalt u een lijst op van de processen die op de computer worden uitgevoerd en wordt het resultaat naar een bestand verzonden. Omdat er geen tweede pad is opgegeven, worden de processen ook weergegeven in de console.

Voorbeeld 2: Uitvoerprocessen naar een variabele en Select-Object

PS C:\> Get-Process notepad | Tee-Object -Variable proc | Select-Object processname,handles
ProcessName                              Handles
-----------                              -------
notepad                                  43
notepad                                  37
notepad                                  38
notepad                                  38

Met deze opdracht haalt u een lijst op van de processen die op de computer worden uitgevoerd en wordt het resultaat verzonden naar een variabele met de naam proc. Vervolgens worden de resulterende objecten doorgegeven aan Select-Object, waarmee de eigenschap ProcessName en Handles worden geselecteerd. Houd er rekening mee dat de variabele $proc de standaardgegevens bevat die worden geretourneerd door Get-Process.

Voorbeeld 3: Systeembestanden uitvoeren naar twee logboekbestanden

PS C:\> Get-ChildItem -Path D: -File -System -Recurse | Tee-Object -FilePath "c:\test\AllSystemFiles.txt" -Append | Out-File c:\test\NewSystemFiles.txt

Met deze opdracht wordt een lijst met systeembestanden opgeslagen in een twee logboekbestanden, een cumulatief bestand en een huidig bestand.

De opdracht maakt gebruik van de Get-ChildItem cmdlet om een recursieve zoekopdracht uit te voeren naar systeembestanden op het station D: . Een pijplijnoperator (|) verzendt de lijst naar Tee-Object-, waarmee de lijst wordt toegevoegd aan het AllSystemFiles.txt-bestand en de lijst wordt doorgegeven aan de Out-File-cmdlet, waarmee de lijst wordt opgeslagen in het NewSystemFiles.txt-bestand.

Parameters

-Append

Geeft aan dat de cmdlet de uitvoer toevoegt aan het opgegeven bestand. Zonder deze parameter vervangt de nieuwe inhoud alle bestaande inhoud in het bestand zonder waarschuwing.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

File
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-FilePath

Hiermee geeft u een bestand op dat het object door deze cmdlet wordt opgeslagen in jokertekens, maar moet worden omgezet in één bestand.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

File
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-InputObject

Hiermee geeft u het object op dat moet worden opgeslagen en weergegeven. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald. U kunt een object ook doorsluisen naar Tee-Object.

Wanneer u de parameter InputObject gebruikt met Tee-Object-, in plaats van de opdrachtresultaten door te leiden naar Tee-Object-, wordt het InputObject waarde, zelfs als de waarde een verzameling is die het resultaat is van een opdracht, zoals -, als één object wordt behandeld. Omdat InputObject geen afzonderlijke eigenschappen kan retourneren uit een matrix of verzameling objecten, wordt aanbevolen dat als u Tee-Object- gebruikt om bewerkingen uit te voeren op een verzameling objecten voor die objecten met specifieke waarden in gedefinieerde eigenschappen, u Tee-Object- in de pijplijn gebruikt, zoals wordt weergegeven in de voorbeelden in dit onderwerp.

Parametereigenschappen

Type:PSObject
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-LiteralPath

Hiermee geeft u een bestand op waarnaar het object door deze cmdlet wordt opgeslagen. In tegenstelling tot FilePath, wordt de waarde van de parameter LiteralPath exact gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, zet het dan tussen enkele aanhalingstekens. Enkele aanhalingstekens zorgen ervoor dat PowerShell geen tekens als escapesequenties interpreteert.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:PSPath

Parametersets

LiteralFile
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Variable

Hiermee geeft u een variabele op waarnaar het object wordt opgeslagen door de cmdlet. Voer een variabelenaam in zonder het voorgaande dollarteken ($).

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

Variable
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

PSObject

U kunt objecten doorsluisen naar Tee-Object.

Uitvoerwaarden

PSObject

Tee-Object retourneert het object dat wordt omgeleid.

Notities

  • U kunt ook de Out-File-cmdlet of de omleidingsoperator gebruiken, die beide de uitvoer in een bestand opslaan, maar deze niet naar de pijplijn verzenden.
  • Tee-Object- unicode-codering gebruikt wanneer deze naar bestanden schrijft. Als gevolg hiervan is de uitvoer mogelijk niet correct opgemaakt in bestanden met een andere codering. Als u de codering wilt opgeven, gebruikt u de cmdlet Out-File.