Delen via


Tee-Object

Hiermee slaat u de uitvoer van de opdracht in een bestand of variabele op en verzendt deze ook naar de pijplijn.

Syntax

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

Description

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

Voorbeelden

Voorbeeld 1: uitvoerprocessen naar een bestand en naar de console

In dit voorbeeld wordt een lijst met de processen die op de computer worden uitgevoerd, opgeslagen en wordt het resultaat naar een bestand verzonden. Omdat er geen tweede pad is opgegeven, worden de processen ook weergegeven in de console.

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
...

Voorbeeld 2: processen uitvoeren naar een variabele en 'Select-Object'

In dit voorbeeld wordt een lijst met de processen die op de computer worden uitgevoerd, opgeslagen in de $proc variabele en ze doorsturen naar Select-Object.

Get-Process notepad | Tee-Object -Variable proc | Select-Object processname,handles

ProcessName                              Handles
-----------                              -------
notepad                                  43
notepad                                  37
notepad                                  38
notepad                                  38

De Select-Object cmdlet selecteert de eigenschappen ProcessName en Handles . Houd er rekening mee dat de $proc variabele de standaardgegevens bevat die worden geretourneerd door Get-Process.

Voorbeeld 3: systeembestanden uitvoeren naar twee logboekbestanden

In dit voorbeeld wordt een lijst met systeembestanden opgeslagen in twee logboekbestanden, een cumulatief bestand en een huidig bestand.

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

De opdracht gebruikt de Get-ChildItem cmdlet om een recursieve zoekopdracht uit te voeren naar systeembestanden op station D: . Een pijplijnoperator (|) verzendt de lijst naar Tee-Object, die de lijst toevoegt aan het AllSystemFiles.txt-bestand en de lijst in de pijplijn doorgeeft aan de Out-File cmdlet, die de lijst opslaat in de NewSystemFiles.txt file.

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.

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

-FilePath

Hiermee geeft u een bestand op dat met deze cmdlet het object opslaat in jokertekens zijn toegestaan, maar moeten worden omgezet in één bestand.

Type:String
Aliases:Path
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-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 ook een object doorsnijden naar Tee-Object.

Wanneer u de parameter InputObject gebruikt met Tee-Object, in plaats van de resultaten van de opdracht door te sturen naar Tee-Object, wordt de waarde InputObject behandeld als één object, zelfs als de waarde een verzameling is.

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

-LiteralPath

Hiermee geeft u een bestand op waarin deze cmdlet het object opslaat. 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 escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens vertellen PowerShell dat geen tekens als escape-reeksen worden geïnterpreteerd.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Variable

Hiermee geeft u een variabele op waarin de cmdlet het object opslaat. Voer een variabelenaam in zonder het voorgaande dollarteken ($).

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

Invoerwaarden

PSObject

U kunt objecten doorsnijden 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 in de pijplijn verzenden.

Vanaf PowerShell 6 Tee-Object wordt UTF-8-codering gebruikt die geen bom bevat wanneer er naar bestanden wordt geschreven. Als u een andere codering nodig hebt, gebruikt u de Out-File cmdlet met de parameter Encoding .