Share via


Tee-Object

Speichert die Ausgabe des Befehls in einer Datei oder einer Variablen, und sendet sie über die Pipeline.

Syntax

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

Beschreibung

Das Tee-Object Cmdlet leitet die Ausgabe um, d. h. die Ausgabe eines Befehls in zwei Richtungen (z. B. den Buchstaben T). Das Cmdlet speichert die Ausgabe in einer Datei oder einer Variablen und sendet sie über die Pipeline. Wenn Tee-Object es sich um den letzten Befehl in der Pipeline handelt, wird die Befehlsausgabe an der Eingabeaufforderung angezeigt.

Beispiele

Beispiel 1: Ausgabeprozesse in eine Datei und an die Konsole

In diesem Beispiel wird eine Liste der prozesse, die auf dem Computer ausgeführt werden, und das Ergebnis wird an eine Datei gesendet. Da kein zweiter Pfad angegeben ist, werden die Prozesse auch in der Konsole angezeigt.

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

Beispiel 2: Ausgabeprozesse an eine Variable und "Select-Object"

In diesem Beispiel wird eine Liste der Prozesse, die auf dem Computer ausgeführt werden, in der $proc Variablen gespeichert, und sie werden in Select-Objectdie Rohre gepipet.

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

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

Das Select-Object Cmdlet wählt die Eigenschaften ProcessName und Handles aus . Beachten Sie, dass die $proc Variable die standardinformationen enthält, die von Get-Process.

Beispiel 3: Ausgabesystemdateien in zwei Protokolldateien

In diesem Beispiel wird eine Liste von Systemdateien in zwei Protokolldateien, einer kumulativen Datei und einer aktuellen Datei gespeichert.

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

Der Befehl verwendet das Get-ChildItem Cmdlet, um eine rekursive Suche nach Systemdateien auf dem Laufwerk D: durchzuführen. Ein Pipelineoperator (|) sendet die Liste an Tee-Object, an die die Liste an die AllSystemFiles.txt-Datei angefügt wird und die Liste an das Cmdlet weitergibt, an das Out-File die Liste NewSystemFiles.txt filegespeichert wird.

Parameter

-Append

Gibt an, dass das Cmdlet die Ausgabe an die angegebene Datei angibt. Ohne diesen Parameter ersetzt der neue Inhalt vorhandene Inhalte in der Datei ohne Warnung.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

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

-FilePath

Gibt eine Datei an, die das Objekt in Wild speichert Karte Zeichen sind zulässig, müssen jedoch in eine einzelne Datei aufgelöst werden.

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

-InputObject

Gibt das zu speichernde und anzuzeigende Objekt an. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder einen Ausdruck ein, durch den die Objekte abgerufen werden. Sie können ein Objekt auch an Tee-Object.

Wenn Sie den InputObject-Parameter mit Tee-Objectden Ergebnissen des Eingabebefehls anstelle von Pipingbefehlen Tee-Objectverwenden, wird der InputObject-Wert auch dann als einzelnes Objekt behandelt, wenn es sich bei dem Wert um eine Auflistung handelt.

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

-LiteralPath

Gibt eine Datei an, in der dieses Cmdlet das Objekt speichert. Im Gegensatz zu FilePath wird der Wert des LiteralPath-Parameters genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.

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

-Variable

Gibt eine Variable an, in der das Cmdlet das Objekt speichert. Geben Sie einen Variablennamen ohne das vorangehende Dollarzeichen ($) ein.

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

Eingaben

PSObject

Sie können Objekte an dieses Cmdlet weiterleiten.

Ausgaben

PSObject

Dieses Cmdlet gibt das Objekt zurück, das es umleitet.

Hinweise

Windows PowerShell enthält die folgenden Aliase für Tee-Object:

  • tee

Sie können auch das Out-File Cmdlet oder den Umleitungsoperator verwenden, von denen beide die Ausgabe in einer Datei speichern, aber nicht an die Pipeline senden.

Tee-Object verwendet die UTF-16LE-Codierung (Unicode), wenn sie in Dateien schreibt. Wenn Sie eine andere Codierung benötigen, verwenden Sie das Out-File Cmdlet mit dem Encoding-Parameter .