Trace-Command
Configure et démarre un suivi de la commande ou de l'expression spécifiée.
Syntax
Trace-Command
[-InputObject <PSObject>]
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-Expression] <ScriptBlock>
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
Trace-Command
[-InputObject <PSObject>]
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-Command] <String>
[-ArgumentList <Object[]>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
Description
L’applet Trace-Command
de commande configure et démarre une trace de l’expression ou de la commande spécifiée.
Elle fonctionne comme Set-TraceSource, si ce n'est qu'elle s'applique uniquement à la commande spécifiée.
Exemples
Exemple 1 : Traitement des métadonnées de suivi, liaison de paramètre et expression
Cet exemple démarre une trace du traitement des métadonnées, de la liaison de paramètres et de la création et de la destruction de l’expression par applet Get-Process Notepad
de commande.
Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
Il utilise le paramètre Name pour spécifier les sources de trace, le paramètre Expression pour spécifier la commande et le paramètre PSHost pour envoyer la sortie à la console. Étant donné qu’elle ne spécifie pas d’options de suivi ou d’écouteur, la commande utilise les valeurs par défaut :
- Tout pour les options de suivi
- Aucun pour les options de l’écouteur
Exemple 2 : Suivre les actions des opérations ParameterBinding
Cet exemple montre comment suivre les actions des opérations ParameterBinding de PowerShell pendant qu’il traite une expression qui prend une Get-Alias
entrée à partir du pipeline.
$A = "i*"
Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
Dans Trace-Command
, le paramètre InputObject transmet un objet à l’expression en cours de traitement pendant la trace.
La première commande stocke la chaîne i*
dans la $A
variable. La deuxième commande utilise l’applet de Trace-Command
commande avec la source de trace ParameterBinding. Le paramètre PSHost envoie la sortie à la console.
L’expression en cours de traitement est Get-Alias $Input
, où la $Input
variable est associée au paramètre InputObject . Le paramètre InputObject transmet la variable $A
à l’expression. En effet, la commande en cours de traitement pendant la trace est Get-Alias -InputObject $A" or "$A | Get-Alias
.
Paramètres
-ArgumentList
Spécifie les paramètres et les valeurs de paramètre pour la commande faisant l'objet d'un suivi. L'alias d'ArgumentList est Args. Cette fonctionnalité est particulièrement utile pour déboguer des paramètres dynamiques.
Pour plus d’informations sur le comportement d’ArgumentList, consultez about_Splatting.
Type: | Object[] |
Aliases: | Args |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Command
Spécifie une commande qui est en cours de traitement au cours du suivi.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Debugger
Indique que l’applet de commande envoie la sortie de trace au débogueur. Vous pouvez afficher la sortie dans n'importe quel débogueur en mode noyau ou en mode utilisateur, ou dans Visual Studio. Ce paramètre sélectionne également l'écouteur de suivi par défaut.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expression
Spécifie l'expression qui est en cours de traitement au cours du suivi. Placez l’expression dans des accolades ({}
).
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Spécifie un fichier auquel l’applet de commande envoie la sortie de trace. Ce paramètre sélectionne également l'écouteur de suivi de fichier.
Type: | String |
Aliases: | PSPath, Path |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Force l’exécution de la commande sans demander la confirmation de l’utilisateur. Utilisé avec le paramètre FilePath . Même à l’aide du paramètre Force , l’applet de commande ne peut pas remplacer les restrictions de sécurité.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Spécifie l’entrée de l’expression en cours de traitement pendant la trace. Vous pouvez entrer une variable qui représente l'entrée que l'expression accepte ou passer un objet via le pipeline.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ListenerOption
Spécifie les données facultatives du préfixe de chaque message de trace dans la sortie. Les valeurs valides pour ce paramètre sont :
None
LogicalOperationStack
DateTime
Timestamp
ProcessId
ThreadId
Callstack
None
est la valeur par défaut.
Ces valeurs sont définies comme une énumération basée sur un indicateur. Vous pouvez combiner plusieurs valeurs pour définir plusieurs indicateurs à l’aide de ce paramètre. Les valeurs peuvent être passées au paramètre ListenerOption sous la forme d’un tableau de valeurs ou d’une chaîne séparée par des virgules de ces valeurs. L’applet de commande combine les valeurs à l’aide d’une opération binary-OR. La transmission de valeurs en tant que tableau est l’option la plus simple et vous permet également d’utiliser la saisie semi-automatique sur les valeurs.
Type: | TraceOptions |
Accepted values: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Spécifie un tableau de composants PowerShell qui sont suivis. Entrez le nom de la source de suivi de chaque composant. Les caractères génériques sont autorisés. Pour rechercher les sources de trace sur votre ordinateur, tapez Get-TraceSource
.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Option
Détermine le type des événements qui font l'objet d'un suivi. Les valeurs valides pour ce paramètre sont :
None
Constructor
Dispose
Finalizer
Method
Property
Delegates
Events
Exception
Lock
Error
Errors
Warning
Verbose
WriteLine
Data
Scope
ExecutionFlow
Assert
All
All
est la valeur par défaut.
Les valeurs suivantes sont des combinaisons d'autres valeurs :
ExecutionFlow
:Constructor
,Dispose
,Finalizer
,Method
,Delegates
,Events
,Scope
Data
:Constructor
,Dispose
,Finalizer
,Property
,Verbose
,WriteLine
Errors
:Error
,Exception
Ces valeurs sont définies comme une énumération basée sur un indicateur. Vous pouvez combiner plusieurs valeurs pour définir plusieurs indicateurs à l’aide de ce paramètre. Les valeurs peuvent être passées au paramètre Option sous la forme d’un tableau de valeurs ou d’une chaîne séparée par des virgules de ces valeurs. L’applet de commande combine les valeurs à l’aide d’une opération binary-OR. La transmission de valeurs en tant que tableau est l’option la plus simple et vous permet également d’utiliser la saisie semi-automatique sur les valeurs.
Type: | PSTraceSourceOptions |
Accepted values: | None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PSHost
Indique que l’applet de commande envoie la sortie de trace à l’hôte PowerShell. Ce paramètre sélectionne également l'écouteur de suivi de PSHost.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Vous pouvez diriger des objets qui représentent l’entrée vers l’expression vers Trace-Command
.
Sorties
Retourne le suivi de la commande dans le flux de débogage.
Notes
Le suivi est une méthode que les développeurs utilisent pour déboguer et affiner les programmes. Pendant le suivi, le programme génère des messages détaillés sur chaque étape du traitement interne.
Les applets de commande de suivi PowerShell sont conçues pour aider les développeurs PowerShell, mais elles sont disponibles pour tous les utilisateurs. Elles vous permettent de surveiller quasiment chaque aspect de la fonctionnalité de l'interpréteur de commandes.
Pour rechercher les composants PowerShell activés pour le suivi, tapez
Get-Help Get-TraceSource
.Une source de trace est la partie de chaque composant PowerShell qui gère le suivi et génère des messages de suivi pour le composant. Pour suivre un composant, vous identifiez sa source de suivi.
Un écouteur de suivi reçoit la sortie de la trace et l’affiche à l’utilisateur. Vous pouvez choisir d’envoyer les données de trace à un débogueur en mode utilisateur ou en mode noyau, à l’hôte ou à la console, à un fichier ou à un écouteur personnalisé dérivé de la classe System.Diagnostics.TraceListener .
Lorsque vous utilisez le jeu de paramètres commandSet, PowerShell traite la commande comme elle serait traitée dans un pipeline. Par exemple, la découverte de commande n'est pas répétée pour chaque objet entrant.
Les noms des paramètres Name, Expression, Option et Command sont facultatifs. Si vous omettez les noms des paramètres, les valeurs de paramètre sans nom doivent apparaître dans cet ordre : Nom, Expression, Option ou Nom, Commande, Option. Si vous incluez les noms de paramètres, les paramètres peuvent apparaître dans tout ordre.