Tee-Object

Enregistre la sortie de la commande dans un fichier ou dans une variable, puis l'envoie dans le pipeline.

Syntax

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

Description

L’applet Tee-Object de commande redirige la sortie, autrement dit, envoie la sortie d’une commande dans deux directions (comme la lettre T). Elle stocke la sortie dans un fichier ou dans une variable, puis l'envoie dans le pipeline. S’il s’agit Tee-Object de la dernière commande du pipeline, la sortie de la commande s’affiche à l’invite.

Exemples

Exemple 1 : Processus de sortie dans un fichier et dans la console

Cet exemple obtient une liste des processus en cours d’exécution sur l’ordinateur et envoie le résultat à un fichier. Étant donné qu'un deuxième chemin n'est pas spécifié, les processus sont également affichés dans la 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
...

Exemple 2 : Processus de sortie vers une variable et « Select-Object »

Cet exemple obtient une liste des processus en cours d’exécution sur l’ordinateur, les enregistre dans la $proc variable et les dirige vers Select-Object.

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

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

L’applet Select-Object de commande sélectionne les propriétés ProcessName et Handles . Notez que la $proc variable inclut les informations par défaut retournées par Get-Process.

Exemple 3 : Fichiers système de sortie vers deux fichiers journaux

Cet exemple montre comment enregistrer une liste de fichiers système dans deux fichiers journaux, un fichier cumulatif et un fichier actif.

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

La commande utilise l’applet Get-ChildItem de commande pour effectuer une recherche récursive des fichiers système sur le lecteur D: . Un opérateur de pipeline (|) envoie la liste , Tee-Objectqui ajoute la liste au fichier AllSystemFiles.txt et transmet la liste au pipeline à l’applet Out-File de commande, qui enregistre la liste dans le NewSystemFiles.txt filefichier .

Paramètres

-Append

Indique que l’applet de commande ajoute la sortie au fichier spécifié. Sans ce paramètre, le nouveau contenu remplace tout contenu existant dans le fichier sans avertissement.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

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

-FilePath

Spécifie un fichier que cette applet de commande enregistre l’objet dans des caractères génériques autorisés, mais doit être résolu en un seul fichier.

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

-InputObject

Spécifie l'objet à enregistrer et à afficher. Entrez une variable contenant les objets, ou tapez une commande ou une expression qui les obtient. Vous pouvez également diriger un objet vers Tee-Object.

Lorsque vous utilisez le paramètre InputObject avec Tee-Object, au lieu de faire passer les résultats de la commande, Tee-Objectla valeur InputObject est traitée comme un seul objet même si la valeur est une collection.

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

-LiteralPath

Spécifie un fichier dans lequel cette applet de commande enregistre l’objet. Contrairement à FilePath, la valeur du paramètre LiteralPath est utilisée exactement telle qu'elle est tapée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter les caractères comme des séquences d’échappement.

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

-Variable

Spécifie une variable dans laquelle l’applet de commande enregistre l’objet. Entrez un nom de variable sans le signe dollar précédent ($).

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

Entrées

PSObject

Vous pouvez diriger des objets vers Tee-Object.

Sorties

PSObject

Tee-Object retourne l’objet qu’il redirige.

Notes

Vous pouvez également utiliser l’applet Out-File de commande ou l’opérateur de redirection, qui enregistrent la sortie dans un fichier, mais ne l’envoient pas dans le pipeline.

À compter de PowerShell 6, Tee-Object utilise l’encodage UTF-8 sans boM lorsqu’il écrit dans des fichiers. Si vous avez besoin d’un encodage différent, utilisez l’applet Out-File de commande avec le paramètre Encoding .