Configure et démarre une trace de l'expression ou de la commande spécifiée.
Syntaxe
Trace-Command [-Command] <string> [-ArgumentList <Object[]>] [-Name] <string[]> [[-Option] {<None> | <Constructor> | <Dispose> | <Finalizer> | <Method> | <Property> | <Delegates> | <Events> | <Exception> | <Lock> | <Error> | <Errors> | <Warning> | <Verbose> | <WriteLine> | <Data> | <Scope> | <ExecutionFlow> | <Assert> | <All>}] [-Debugger] [-FilePath <string>] [-Force] [-InputObject <psobject>] [-ListenerOption {<None> | <LogicalOperationStack> | <DateTime> | <Timestamp> | <ProcessId> | <ThreadId> | <Callstack>}] [-PSHost] [<CommonParameters>] Trace-Command [-Expression] <scriptblock> [-Name] <string[]> [[-Option] {<None> | <Constructor> | <Dispose> | <Finalizer> | <Method> | <Property> | <Delegates> | <Events> | <Exception> | <Lock> | <Error> | <Errors> | <Warning> | <Verbose> | <WriteLine> | <Data> | <Scope> | <ExecutionFlow> | <Assert> | <All>}] [-Debugger] [-FilePath <string>] [-Force] [-InputObject <psobject>] [-ListenerOption {<None> | <LogicalOperationStack> | <DateTime> | <Timestamp> | <ProcessId> | <ThreadId> | <Callstack>}] [-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.
Paramètres
-ArgumentList <Object[]>
Spécifie les paramètres et les valeurs de paramètre pour la commande qui est tracée. L'alias d'ArgumentList est Args. Cette fonctionnalité est particulièrement utile pour déboguer des paramètres dynamiques.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Command <string>
Spécifie une commande qui est traitée pendant la trace.
Obligatoire ? |
true |
Position ? |
2 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Debugger
Envoie la sortie de la trace au débogueur. Vous pouvez consulter la sortie dans tout débogueur en mode noyau, en mode utilisateur ou dans Visual Studio. Ce paramètre sélectionne également l'écouteur de la trace par défaut.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Expression <scriptblock>
Spécifie l'expression qui est traitée pendant la trace. Mettez l'expression entre accolades ({}).
Obligatoire ? |
true |
Position ? |
2 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-FilePath <string>
Envoie la sortie de la trace au fichier spécifié. Ce paramètre sélectionne également l'écouteur de la trace de fichiers.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Force
Permet à l'applet de commande d'ajouter les informations de trace dans un fichier en lecture seule. Utilisé avec le paramètre FilePath. Même en utilisant le paramètre Force, l'applet de commande ne peut pas remplacer les restrictions de sécurité.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-InputObject <psobject>
Fournit l'entrée à l'expression qui est traitée pendant la trace.
Vous pouvez entrer une variable qui représente l'entrée que l'expression accepte, ou passer un objet le long du pipeline.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
true (ByValue) |
Accepter les caractères génériques ? |
false |
-ListenerOption <TraceOptions>
Ajoute des données facultatives au préfixe de chaque message de trace dans la sortie. Les valeurs valides sont None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId et Callstack. « None » est la valeur par défaut.
Pour spécifier plusieurs options, séparez-les avec des virgules, mais sans espaces, et mettez-les entre guillemets, par exemple « ProcessID,ThreadID ».
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Name <string[]>
Détermine quels composants Windows PowerShell sont tracés. 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 ».
Obligatoire ? |
true |
Position ? |
1 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Option <PSTraceSourceOptions>
Détermine le type des événements qui sont tracés.
Les valeurs valides sont les suivantes : None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert et All. « All » est la valeur par défaut.
Les valeurs suivantes sont des combinaisons d'autres valeurs :
-- ExecutionFlow : (Constructor, Dispose, Finalizer, Method, Delegates, Events et Scope)
-- Data : (Constructor, Dispose, Finalizer, Property, Verbose et WriteLine)
-- Errors : (Error et Exception).
Pour spécifier plusieurs options, séparez-les avec des virgules, mais sans espaces, et mettez-les entre guillemets, par exemple « Constructor,Dispose ».
Obligatoire ? |
false |
Position ? |
3 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-PSHost
Envoie la sortie de la trace à l'hôte Windows PowerShell. Ce paramètre sélectionne également l'écouteur de la trace par PSHost.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.
Entrées et sorties
Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.
Entrées |
System.Management.Automation.PSObject Vous pouvez diriger des objets représentant l'entrée de l'expression vers Trace-Command. |
Sorties |
System.Management.Automation.PSObject Retourne la trace de la commande dans le flux de débogage. |
Remarques
Le traçage est une méthode que les développeurs utilisent pour déboguer et affiner des programmes. Lors du traçage, le programme génère des messages détaillés à propos de chaque étape de son traitement interne.
Les applets de commande de traçage Windows PowerShell sont conçues pour aider les développeurs Windows PowerShell, mais sont disponible pour tous les utilisateurs. Elles vous permettent de surveiller presque chaque aspect des fonctionnalités de l'environnement.
Pour rechercher les composants Windows PowerShell qui sont activés pour le traçage, tapez « Get-Help Get-TraceSource ».
Une « source de trace » est la partie de chaque composant Windows 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.
Un « écouteur de la trace » reçoit la sortie de la trace et l'affiche pour l'utilisateur. Vous pouvez choisir d'envoyer les données de trace à un débogueur en mode noyau ou en mode utilisateur, à 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 Command, Windows PowerShell traite la commande comme elle serait traité 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 facultatives. Si vous omettez les noms des paramètres, les valeurs des paramètres sans nom doivent apparaître dans l'ordre suivant : Name, Expression, Option ou Name, Command,-Option. Si vous incluez les noms de paramètre, les paramètres peuvent apparaître dans tout ordre.
Exemple 1
C:\PS>trace-command -name metadata,parameterbinding,cmdlet -expression {get-process notepad} -pshost Description ----------- Cette commande démarre une trace du traitement des métadonnées, de la liaison des paramètres, ainsi que de la création et la destruction de l'expression « get-process notepad » par l'applet de commande. Elle 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. Dans la mesure où elle ne spécifie aucune option de trace ou d'écouteur, la commande utilise les valeurs par défaut, « All » pour les options de trace et « None » pour les options d'écouteur.
Exemple 2
C:\PS>trace-command -name commandprocessor,pipelineprocessor -command get-alias -argumentlist "ghy" -option executionflow -listenerOption "timestamp,callstack" -filepath c:\test\debug.txt Description ----------- Cette commande démarre une trace du processeur de commandes et du processeur de pipeline pendant le traitement de la commande « get-alias cd ». Elle utilise le paramètre Name pour spécifier les sources de trace, le paramètre Command pour spécifier la commande, le paramètre ArgumentList pour spécifier les paramètres de la commande Get-Alias, le paramètre Option pour spécifier les options de traçage et le paramètre ListenerOption pour spécifier les champs dans le préfixe du message de trace. Le paramètre FilePath envoie la sortie au fichier C:\Test\Debug.txt.
Exemple 3
C:\PS>$a = "i*" C:\PS> trace-command parameterbinding {get-alias $input} -pshost -inputobject $a Description ----------- Ces commandes tracent les actions des opérations ParameterBinding de Windows PowerShell pendant qu'il traite une expression Get-Alias qui accepte l'entrée provenant du pipeline. Dans Trace-Command, le paramètre InputObject passe un objet à l'expression qui est traitée 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 qui est traitée est « get-alias $input », où la variable $input est associée au paramètre InputObject. Le paramètre InputObject passe le variable $a à l'expression. En fait, la commande qui est traitée pendant la trace est « get-alias –inputobject $a » ou « $a | get-alias ».
Voir aussi