Trace-Command
Configura e avvia una traccia dell'espressione o del comando specificato.
Sintassi
expressionSet (Impostazione predefinita)
Trace-Command
[-Name] <String[]>
[-Expression] <ScriptBlock>
[[-Option] <PSTraceSourceOptions>]
[-InputObject <PSObject>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
commandSet
Trace-Command
[-Name] <String[]>
[-Command] <String>
[[-Option] <PSTraceSourceOptions>]
[-InputObject <PSObject>]
[-ArgumentList <Object[]>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
Descrizione
Il cmdlet Trace-Command configura e avvia una traccia dell'espressione o del comando specificato. Funziona come Set-TraceSource, ad eccezione del fatto che si applica solo al comando specificato.
Esempio
Esempio 1: Elaborazione dei metadati di traccia, associazione di parametri e espressione
PS C:\> Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
Questo comando avvia una traccia dell'elaborazione dei metadati, dell'associazione dei parametri e della creazione e della distruzione dei cmdlet dell'espressione Get-Process Notepad.
Usa il parametro Name
Esempio 2: Tracciare le azioni delle operazioni ParameterBinding
PS C:\> $A = "i*"
PS C:\> Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
Questi comandi tracciano le azioni delle operazioni ParameterBinding di Windows PowerShell mentre elabora un'espressione Get-Alias che accetta input dalla pipeline.
In
Il primo comando archivia la stringa "i*" nella variabile $A.
Il secondo comando usa il cmdlet Trace-Command con l'origine di traccia ParameterBinding.
Il parametro PSHost
L'espressione elaborata viene Get-Alias -InputObject $A" or "$A | Get-Alias.
Parametri
-ArgumentList
Specifica i parametri e i valori dei parametri per il comando da tracciare. L'alias per ArgumentList è Args. Questa funzionalità è particolarmente utile per il debug di parametri dinamici.
Proprietà dei parametri
| Tipo: | Object[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Argomenti |
Set di parametri
commandSet
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Command
Specifica un comando che viene elaborato durante la traccia.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
commandSet
| Posizione: | 1 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Debugger
Indica che il cmdlet invia l'output di traccia al debugger. È possibile visualizzare l'output in qualsiasi debugger in modalità utente o kernel o in Visual Studio. Questo parametro seleziona anche il listener di traccia predefinito.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Expression
Specifica l'espressione che viene elaborata durante la traccia. Racchiudi l'espressione tra parentesi graffe ({}).
Proprietà dei parametri
| Tipo: | ScriptBlock |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
expressionSet
| Posizione: | 1 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-FilePath
Specifica un file a cui il cmdlet invia l'output della traccia. Questo parametro seleziona anche il listener di traccia file.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | PSPath |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Force
Forza l'esecuzione del comando senza chiedere conferma dell'utente.
Utilizzato con il parametro
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-InputObject
Specifica l'input per l'espressione che viene elaborata durante la traccia.
È possibile immettere una variabile che rappresenta l'input accettato dall'espressione o passare un oggetto attraverso la pipeline.
Proprietà dei parametri
| Tipo: | PSObject |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-ListenerOption
Specifica i dati facoltativi per il prefisso di ogni messaggio di traccia nell'output. I valori accettabili per questo parametro sono:
- Nessuno
- LogicalOperationStack
- Data e ora
- Marca temporale:
- ProcessId
- ThreadId
- Stack di chiamate
Nessuna è l'impostazione predefinita.
Per specificare più opzioni, separarle con virgole, ma senza spazi e racchiuderle tra virgolette, ad esempio "ProcessID,ThreadID".
Proprietà dei parametri
| Tipo: | TraceOptions |
| Valore predefinito: | None |
| Valori accettati: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Name
Specifica una matrice di componenti di Windows PowerShell tracciati.
Immettere il nome dell'origine di traccia di ogni componente.
Sono consentiti i metacaratteri.
Per trovare le origini di traccia nel computer, digitare Get-TraceSource.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Option
Specifica il tipo di eventi tracciati. I valori accettabili per questo parametro sono:
- Nessuno
- Costruttore
- Disporre
- Finalizzatore
- Metodo
- Proprietà
- Delegati
- Avvenimenti
- Eccezione
- Serratura
- Errore
- Errori
- Avvertimento
- Verbose
- WriteLine
- Dati
- Ambito
- Flusso di esecuzione
- Asserzione
- Tutti
Il valore predefinito è All.
I valori seguenti sono combinazioni di altri valori:
- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events e Scope)
- Dati: (Constructor, Dispose, Finalizer, Property, Verbose e WriteLine)
- Errori: (errore ed eccezione).
Per specificare più opzioni, separarle con virgole, ma senza spazi e racchiuderle tra virgolette, ad esempio "Costruttore,Dispose".
Proprietà dei parametri
| Tipo: | PSTraceSourceOptions |
| Valore predefinito: | None |
| Valori accettati: | None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 2 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-PSHost
Indica che il cmdlet invia l'output di traccia all'host di Windows PowerShell. Questo parametro seleziona anche il listener di traccia PSHost.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
PSObject
È possibile inviare tramite pipe oggetti che rappresentano l'input all'espressione per Trace-Command.
Output
PSObject
Restituisce la traccia del comando nel flusso di debug.
Note
La traccia è un metodo che gli sviluppatori usano per eseguire il debug e perfezionare i programmi. Durante la traccia, il programma genera messaggi dettagliati su ogni passaggio nell'elaborazione interna.
I cmdlet di traccia di Windows PowerShell sono progettati per aiutare gli sviluppatori di Windows PowerShell, ma sono disponibili per tutti gli utenti. Consentono di monitorare quasi ogni aspetto della funzionalità della shell.
Per trovare i componenti di Windows PowerShell abilitati per la traccia, digitare
Get-Help Get-TraceSource.Un'origine di traccia è la parte di ogni componente di Windows PowerShell che gestisce la traccia e genera messaggi di traccia per il componente. Per tracciare un componente, identificarne l'origine di traccia.
Un listener di traccia riceve l'output della traccia e lo visualizza all'utente. È possibile scegliere di inviare i dati di traccia a un debugger in modalità utente o in modalità kernel, all'host o alla console, a un file o a un listener personalizzato derivato dalla classe System.Diagnostics.TraceListener.
Quando si usa il set di parametri commandSet, Windows PowerShell elabora il comando esattamente come viene elaborato in una pipeline. Ad esempio, l'individuazione dei comandi non viene ripetuta per ogni oggetto in ingresso.
I nomi dei Name, Expression, Optione Command parametri sono facoltativi. Se si omettono i nomi dei parametri, i valori dei parametri senza nome devono essere visualizzati in questo ordine: Name, Expression, Option o Name, Command, Option. Se si includono i nomi dei parametri, i parametri possono essere visualizzati in qualsiasi ordine.