Freigeben über


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

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

Beispiele

Beispiel 1: Verfolgen der ParameterBinding-Komponente

PS C:\> 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 Name-Parameter, um die Ablaufverfolgungsquelle anzugeben , den Option-Parameter, um die ExecutionFlow-Ablaufverfolgungsereignisse auszuwählen, und den PSHost-Parameter , um den PowerShell-Hostlistener auszuwählen, der die Ausgabe an die Konsole sendet. Der Parameter ListenerOption fügt dem Präfix der Ablaufverfolgungsnachricht die Werte ProcessID und TimeStamp hinzu.

Beispiel 2: Beenden einer Ablaufverfolgung

PS C:\> 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 Beliebigen Benutzermodus- oder Kernelmodusdebugger oder in Microsoft Visual Studio anzeigen. Dieser Parameter wählt auch den Standard-Ablaufverfolgungslistener aus.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
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 Ablaufverfolgungslistener der Datei aus. Wenn Sie diesen Parameter verwenden, um die Ablaufverfolgung zu starten, verwenden Sie den RemoveFileListener Parameter, um die Ablaufverfolgung zu beenden.

Parametereigenschaften

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

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 parameter FilePath 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 Ablaufverfolgungsmeldung in der Ausgabe an. Die zulässigen Werte für diesen Parameter sind:

  • Nichts
  • Logischer OperationStack
  • Datum/Uhrzeit
  • Zeitstempel
  • Prozess-ID
  • ThreadId
  • Callstack

Keine ist die Standardeinstellung.

Wenn Sie mehrere Optionen angeben möchten, trennen Sie sie durch Kommas, jedoch ohne Leerzeichen, und schließen Sie sie in Anführungszeichen ein, z. B. "ProcessID,ThreadID".

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:

  • Nichts
  • Konstruktor
  • Entsorgen
  • Finalizer
  • Methode
  • Eigentum
  • Delegierte
  • Ereignisse
  • Ausnahme
  • Sperre
  • Fehler
  • Irrtümer
  • Warnung
  • Ausführlich
  • WriteLine
  • Daten
  • Geltungsbereich
  • Ausführungsfluss
  • Behaupten
  • Alle

„All“ ist die Standardeinstellung.

Die folgenden Werte sind Kombinationen anderer Werte:

  • ExecutionFlow: (Konstruktor, Dispose, Finalizer, Methode, Delegaten, Ereignisse und Bereich)
  • Daten: (Konstruktor, Dispose, Finalizer, Eigenschaft, Verbose und WriteLine)
  • Fehler: (Fehler und Ausnahme).

Wenn Sie mehrere Optionen angeben möchten, trennen Sie sie durch Kommas, jedoch ohne Leerzeichen, und schließen Sie sie in Anführungszeichen ein, z. B. "Konstruktor,Dispose".

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 Hostein.
  • Um Debugger zu entfernen, geben Sie Debugein.
  • Um alle Ablaufverfolgungslistener zu entfernen, geben Sie *ein.

Verwenden Sie den RemoveFileListener Parameter, 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, die einen Namen enthält, über die Pipeline an Set-TraceSource übergeben.

Ausgaben

None or System.Management.Automation.PSTraceSource

Wenn Sie den PassThru-Parameter verwenden, generiert Set-TraceSource ein System.Management.Automation.PSTraceSource-Objekt , das die Ablaufverfolgungssitzung darstellt. Andernfalls generiert dieses Cmdlet keine Ausgabe.

Hinweise

  • Die Ablaufverfolgung ist eine Methode, die Entwickler zum Debuggen und Optimieren von Programmen verwenden. Bei der Ablaufverfolgung erzeugt das Programm ausführliche 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 der einzelnen PowerShell-Komponenten, der die Ablaufverfolgung verwaltet und Meldungen zur Ablaufverfolgung für die Komponente generiert. Um eine Komponente zu verfolgen, identifizieren Sie deren Verfolgungsquelle.

    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 FilePath-, Debugger-oder PSHost- parameter 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 zum Konfigurieren der Ablaufverfolgungsausgabe.

  • Um die Konfiguration einer Ablaufverfolgung zu ändern, geben Sie den Befehl Set-TraceSource ein, wie Sie es zum Starten einer Ablaufverfolgung tun würden. 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 zum Beenden einer Ablaufverfolgung den parameter RemoveListener. Um eine Ablaufverfolgung zu beenden, die den Dateilistener verwendet (eine Ablaufverfolgung, die mit dem FilePath Parameter gestartet wurde), verwenden Sie den RemoveFileListener Parameter. 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-TraceSource angezeigt.