Trace-Command
Configure et démarre une trace de l’expression ou de la commande spécifiée.
Syntaxe
expressionSet (Par défaut)
Trace-Command
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-Expression] <ScriptBlock>
[-InputObject <PSObject>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
commandSet
Trace-Command
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-Command] <String>
[-InputObject <PSObject>]
[-ArgumentList <Object[]>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
Description
L’applet de commande Trace-Command configure et démarre une trace de l’expression ou de la commande spécifiée.
Elle fonctionne comme Set-TraceSource, sauf qu’elle s’applique uniquement à la commande spécifiée.
Exemples
Exemple 1 : Suivi du traitement des métadonnées, de la liaison de paramètres et d’une 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 Get-Process Notepad.
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 aucune option de suivi ni options d’écouteur, la commande utilise les valeurs par défaut :
- Toutes les options de suivi
- Aucune pour les options d’écouteur
Exemple 2 : Suivre les actions des opérations ParameterBinding
Cet exemple trace les actions des opérations de ParameterBinding de PowerShell pendant qu’elle traite une expression Get-Alias qui prend l’entrée 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 variable $A. La deuxième commande utilise l’applet de commande Trace-Command 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 variable $input 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 de la commande en cours de suivi. L’alias de ArgumentList est . Cette fonctionnalité est utile pour le débogage des paramètres dynamiques.
Pour plus d'informations sur le comportement d'ArgumentList, voir about_Splatting.
Propriétés du paramètre
| Type: | Object[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Args |
Jeux de paramètres
commandSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Command
Spécifie une commande en cours de traitement pendant la trace.
Lorsque vous utilisez ce paramètre, PowerShell traite la commande comme elle serait traitée dans un pipeline. Par exemple, la découverte de commandes n’est pas répétée pour chaque objet entrant.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
commandSet
| Position: | 1 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 utilisateur ou en mode noyau ou dans Visual Studio. Ce paramètre sélectionne également l’écouteur de trace par défaut.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Expression
Spécifie l’expression en cours de traitement pendant la trace. Placez l’expression dans des accolades ({}).
Propriétés du paramètre
| Type: | ScriptBlock |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
expressionSet
| Position: | 1 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 trace de fichier.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | PSPath |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Force
Force l’exécution de la commande sans demander la confirmation de l’utilisateur. Utilisé avec le paramètre FilePath. Même en utilisant le paramètre Force, le cmdlet ne peut pas remplacer les restrictions de sécurité.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 transmettre un objet via le pipeline.
Propriétés du paramètre
| Type: | PSObject |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ListenerOption
Spécifie les données facultatives au préfixe de chaque message de trace dans la sortie. Les valeurs acceptables pour ce paramètre sont les suivantes :
NoneLogicalOperationStackDateTimeTimestampProcessIdThreadIdCallstack
None est la valeur par défaut.
Ces valeurs sont définies comme une énumération basée sur des indicateurs. Vous pouvez combiner plusieurs valeurs pour définir plusieurs indicateurs à l’aide de ce paramètre. Les valeurs peuvent être transmises au paramètre ListenerOption en tant que tableau de valeurs ou sous forme de 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 complétion par tabulation pour les valeurs.
Propriétés du paramètre
| Type: | TraceOptions |
| Valeur par défaut: | None |
| Valeurs acceptées: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Name
Spécifie un tableau de composants PowerShell qui sont suivis. Entrez le nom de la source de trace de chaque composant. Les caractères génériques sont autorisés. Pour rechercher les sources de trace sur votre ordinateur, tapez Get-TraceSource.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Option
Détermine le type d’événements qui sont suivis. Les valeurs acceptables pour ce paramètre sont les suivantes :
NoneConstructorDisposeFinalizerMethodPropertyDelegatesEventsExceptionLockErrorErrorsWarningVerboseWriteLineDataScopeExecutionFlowAssertAll
All est la valeur par défaut.
Les valeurs suivantes sont des combinaisons d’autres valeurs :
-
ExecutionFlow:Constructor, , ,MethodDisposeFinalizer,Delegates, , ,EventsScope -
Data:Constructor, ,Dispose,Finalizer,Property,Verbose,WriteLine -
Errors:Error,Exception
Ces valeurs sont définies comme une énumération basée sur des indicateurs. Vous pouvez combiner plusieurs valeurs pour définir plusieurs indicateurs à l’aide de ce paramètre. Les valeurs peuvent être transmises au paramètre Option en tant que tableau de valeurs ou sous forme de chaîne séparées 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 complétion par tabulation pour les valeurs.
Propriétés du paramètre
| Type: | PSTraceSourceOptions |
| Valeur par défaut: | None |
| Valeurs acceptées: | None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | 2 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 trace PSHost.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
PSObject
Vous pouvez diriger des objets qui représentent une entrée vers l’expression vers cette applet de commande.
Sorties
PSObject
Cette applet de commande ne retourne aucune sortie propre. La commande trace peut retourner la sortie. Cette applet de commande écrit la trace de commande dans le flux de débogage.
Notes
Windows PowerShell inclut les alias suivants pour Trace-Command:
trcm
Le suivi est une méthode que les développeurs utilisent pour déboguer et affiner les programmes. Lors du suivi, le programme génère des messages détaillés sur chaque étape de son traitement interne. Les applets de commande de suivi PowerShell sont conçues pour aider les développeurs PowerShell, mais ils sont disponibles pour tous les utilisateurs. Ils vous permettent de surveiller presque tous les aspects des fonctionnalités de l’interpréteur de commandes.
Une source de trace fait partie de chaque composant PowerShell qui gère le suivi et génère des messages de trace pour le composant. Pour tracer un composant, vous identifiez sa source de trace.
Utilisez Get-TraceSource pour afficher la liste des composants PowerShell activés pour le suivi.
Un écouteur de trace 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.