Condividi tramite


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 per specificare le origini di traccia, il parametro expression per specificare il comando e il parametro PSHost per inviare l'output alla console. Poiché non specifica opzioni di traccia o listener, il comando usa le opzioni predefinite--All per le opzioni di traccia e Nessuna per le opzioni del listener.

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 Trace-Command, il parametro inputObject passa un oggetto all'espressione che viene elaborata durante la traccia.

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 invia l'output alla console.

L'espressione elaborata viene , dove la variabile $Input è associata al parametro inputObject . Il parametro InputObject passa la variabile $A all'espressione. In effetti, il comando da elaborare durante la traccia è 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 FilePath. Anche usando il parametro Force, il cmdlet non può eseguire l'override delle restrizioni di sicurezza.

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.