Set-TraceSource

Konfiguriert, startet und stoppt eine Ablaufverfolgung von PowerShell-Komponenten.

Syntax

optionsSet (Standard)

Set-TraceSource
    [-Name] <String[]>
    [[-Option] <PSTraceSourceOptions>]
    [-ListenerOption <TraceOptions>]
    [-FilePath <String>]
    [-Force]
    [-Debugger]
    [-PSHost]
    [-PassThru]
    [<CommonParameters>]

removeAllListenersSet

Set-TraceSource
    [-Name] <String[]>
    [-RemoveListener <String[]>]
    [<CommonParameters>]

removeFileListenersSet

Set-TraceSource
    [-Name] <String[]>
    [-RemoveFileListener <String[]>]
    [<CommonParameters>]

Beschreibung

Das Set-TraceSource Cmdlet konfiguriert, startet und stoppt eine Ablaufverfolgung einer PowerShell-Komponente. Sie können sie verwenden, um anzugeben, welche Komponenten nachverfolgt werden und wo die Ablaufverfolgungsausgabe gesendet wird.

Beispiele

Beispiel 1: Verfolgen der ParameterBinding-Komponente

Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"

Dieser Befehl startet die Ablaufverfolgung für die ParameterBinding-Komponente von PowerShell. Er verwendet den Parameter Name , um die Ablaufverfolgungsquelle, den Option-Parameter zum Auswählen der ExecutionFlow Ablaufverfolgungsereignisse und den PSHost-Parameter zum Auswählen des PowerShell-Hostlisteners anzugeben, der die Ausgabe an die Konsole sendet. Der ListenerOption-Parameter fügt dem Präfix der Ablaufverfolgungsnachricht die ProcessId Werte hinzu TimeStamp .

Beispiel 2: Beenden einer Ablaufverfolgung

Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"

Mit diesem Befehl wird die Ablaufverfolgung der ParameterBinding-Komponente von PowerShell beendet. Er verwendet den Parameter Name , um die Komponente zu identifizieren, die nachverfolgt wurde, und den RemoveListener-Parameter , um den Ablaufverfolgungslistener zu identifizieren.

Parameter

-Debugger

Gibt an, dass das Cmdlet die Ablaufverfolgungsausgabe an den Debugger sendet. Sie können die Ausgabe in jedem Benutzermodus- oder Kernelmodusdebugger oder in Microsoft Visual Studio anzeigen. Dieser Parameter wählt auch den standardmäßigen Ablaufverfolgungslistener aus.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

optionsSet
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-FilePath

Gibt eine Datei an, an die dieses Cmdlet die Ablaufverfolgungsausgabe sendet. Dieser Parameter wählt auch den Listener für die Dateiablaufverfolgung aus. Wenn Sie diesen Parameter verwenden, um die Ablaufverfolgung zu starten, verwenden Sie den Parameter RemoveFileListener , um die Ablaufverfolgung zu beenden.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:PSPath, Pfad

Parametersätze

optionsSet
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Force

Gibt an, dass das Cmdlet eine schreibgeschützte Datei überschreibt. Wird mit dem FilePath-Parameter verwendet.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

optionsSet
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ListenerOption

Gibt optionale Daten für das Präfix jeder Ablaufverfolgungsnachricht in der Ausgabe an. Die zulässigen Werte für diesen Parameter sind:

  • None
  • LogicalOperationStack
  • DateTime
  • Timestamp
  • ProcessId
  • ThreadId
  • Callstack

None ist die Standardoption.

Diese Werte werden als auf Flaggen basierende Enumeration definiert. Sie können mehrere Werte kombinieren, um mehrere Flags mithilfe dieses Parameters festzulegen. Die Werte können als Array von Werten oder als kommagetrennte Zeichenfolge dieser Werte an den ListenerOption-Parameter übergeben werden. Das Cmdlet kombiniert die Werte mithilfe eines Binary-OR-Vorgangs. Das Übergeben von Werten als Array ist die einfachste Option und ermöglicht Ihnen auch die Verwendung der Tab-Vervollständigung für die Werte.

Parametereigenschaften

Typ:TraceOptions
Standardwert:None
Zulässige Werte:None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

optionsSet
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Name

Gibt an, welche Komponenten nachverfolgt werden. Geben Sie den Namen der Ablaufverfolgungsquelle jeder Komponente ein. Wildcards sind zulässig.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:0
Obligatorisch.:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Option

Gibt den Typ der Ereignisse an, die nachverfolgt werden. Die zulässigen Werte für diesen Parameter sind:

  • None
  • Constructor
  • Dispose
  • Finalizer
  • Method
  • Property
  • Delegates
  • Events
  • Exception
  • Lock
  • Error
  • Errors
  • Warning
  • Verbose
  • WriteLine
  • Data
  • Scope
  • ExecutionFlow
  • Assert
  • All

None ist die Standardoption.

Die folgenden Werte sind Kombinationen anderer Werte:

  • ExecutionFlow: Constructor, , Dispose, MethodFinalizer, Delegates, , EventsScope
  • Data: Constructor, Dispose, Finalizer, Property, VerboseWriteLine
  • Errors: Error, Exception

Diese Werte werden als auf Flaggen basierende Enumeration definiert. Sie können mehrere Werte kombinieren, um mehrere Flags mithilfe dieses Parameters festzulegen. Die Werte können als Array von Werten oder als kommagetrennte Zeichenfolge dieser Werte an den Parameter Option übergeben werden. Das Cmdlet kombiniert die Werte mithilfe eines Binary-OR-Vorgangs. Das Übergeben von Werten als Array ist die einfachste Option und ermöglicht Ihnen auch die Verwendung der Tab-Vervollständigung für die Werte.

Parametereigenschaften

Typ:PSTraceSourceOptions
Standardwert:None
Zulässige Werte:None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

optionsSet
Position:1
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-PassThru

Gibt ein Objekt zurück, das das Element darstellt, mit dem Sie arbeiten. Standardmäßig generiert dieses Cmdlet keine Ausgabe.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

optionsSet
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-PSHost

Gibt an, dass dieses Cmdlet die Ablaufverfolgungsausgabe an den PowerShell-Host sendet. Dieser Parameter wählt auch den PSHost-Ablaufverfolgungslistener aus.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

optionsSet
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-RemoveFileListener

Beendet die Ablaufverfolgung, indem der Dateiablaufverfolgungslistener entfernt wird, der der angegebenen Datei zugeordnet ist. Geben Sie den Pfad und dateinamen der Ablaufverfolgungsausgabedatei ein.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

removeFileListenersSet
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-RemoveListener

Beendet die Ablaufverfolgung, indem der Ablaufverfolgungslistener entfernt wird.

Verwenden Sie die folgenden Werte mit RemoveListener:

  • Um PSHost (Konsole) zu entfernen, geben Sie Host.
  • Um Debugger zu entfernen, geben Sie Debug.
  • Um alle Ablaufverfolgungslistener zu entfernen, geben Sie *.

Verwenden Sie den Parameter RemoveFileListener , um den Dateiablaufverfolgungslistener zu entfernen.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

removeAllListenersSet
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

String

Sie können eine Zeichenfolge mit einem Namen an dieses Cmdlet weiterleiten.

Ausgaben

None

Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.

PSTraceSource

Wenn Sie den PassThru-Parameter verwenden, gibt dieses Cmdlet ein PSTraceSource-Objekt zurück, das die Ablaufverfolgungssitzung darstellt.

Hinweise

  • Die Ablaufverfolgung ist eine Methode, die Entwickler zum Debuggen und Verfeinern von Programmen verwenden. Bei der Ablaufverfolgung generiert das Programm detaillierte Meldungen zu den einzelnen Schritten in der internen Verarbeitung.

    Die PowerShell-Ablaufverfolgungs-Cmdlets sollen PowerShell-Entwickler unterstützen, aber sie sind für alle Benutzer verfügbar. Sie ermöglichen es Ihnen, nahezu jeden Aspekt der Funktionalität von PowerShell zu überwachen.

    Eine Ablaufverfolgungsquelle ist der Teil jeder PowerShell-Komponente, die die Ablaufverfolgung verwaltet und Ablaufverfolgungsmeldungen für die Komponente generiert. Um eine Komponente zu verfolgen, identifizieren Sie die Ablaufverfolgungsquelle.

    Ein Ablaufverfolgungslistener empfängt die Ausgabe der Ablaufverfolgung und zeigt sie dem Benutzer an. Sie können die Ablaufverfolgungsdaten an einen Benutzermodus- oder Kernelmodusdebugger, an die Konsole, an eine Datei oder an einen von der System.Diagnostics.TraceListener-Klasse abgeleiteten benutzerdefinierten Listener senden.

  • Verwenden Sie zum Starten einer Ablaufverfolgung den Parameter Name , um eine Ablaufverfolgungsquelle und die Parameter FilePath, Debugger oder PSHost anzugeben, um einen Listener (ein Ziel für die Ausgabe) anzugeben. Verwenden Sie den Parameter "Options ", um die Typen von Ereignissen zu bestimmen, die nachverfolgt werden, und den ListenerOption-Parameter , um die Ablaufverfolgungsausgabe zu konfigurieren.

  • Um die Konfiguration einer Ablaufverfolgung zu ändern, geben Sie einen Set-TraceSource Befehl ein, wie Sie eine Ablaufverfolgung starten möchten. PowerShell erkennt, dass die Ablaufverfolgungsquelle bereits nachverfolgt wird. Die Ablaufverfolgung wird beendet, die neue Konfiguration hinzugefügt und die Ablaufverfolgung gestartet oder neu gestartet.

  • Verwenden Sie den RemoveListener-Parameter , um eine Ablaufverfolgung zu beenden. Verwenden Sie den Parameter RemoveFileListener, um eine Ablaufverfolgung zu beenden, die den Dateilistener verwendet (eine Ablaufverfolgung, die mit dem FilePath-Parameter gestartet wurde). Wenn Sie den Listener entfernen, wird die Ablaufverfolgung beendet.

  • Verwenden Sie Get-TraceSource, um zu bestimmen, welche Komponenten nachverfolgt werden können. Die Ablaufverfolgungsquellen für jedes Modul werden automatisch geladen, wenn die Komponente verwendet wird, und sie werden in der Ausgabe von Get-TraceSourceangezeigt.