Set-TraceSource 
	配置、启动和停止对 PowerShell 组件的跟踪。
语法
		optionsSet (默认值)
	 
	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>]
说明
              Set-TraceSource cmdlet 配置、启动和停止 PowerShell 组件的跟踪。 可以使用它指定将跟踪哪些组件以及跟踪输出的发送位置。
示例
示例 1:跟踪 ParameterBinding 组件 
	Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"
此命令开始跟踪 PowerShell 的 ParameterBinding 组件。 它使用 Name 参数来指定跟踪源、Option 参数来选择 ExecutionFlow 跟踪事件,并使用 PSHost 参数选择 PowerShell 主机侦听器,后者将输出发送到控制台。 
              ListenerOption 参数将 ProcessId 和 TimeStamp 值添加到跟踪消息前缀。
示例 2:停止跟踪
Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"
此命令停止 PowerShell 的 ParameterBinding 组件的跟踪。 它使用 Name 参数来标识正在跟踪的组件,并使用 RemoveListener 参数标识跟踪侦听器。
参数
-Debugger
指示 cmdlet 将跟踪输出发送到调试器。 可以在任何用户模式或内核模式调试器或 Microsoft Visual Studio 中查看输出。 此参数还会选择默认跟踪侦听器。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
					optionsSet 
					
				 
				| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-FilePath 
		指定此 cmdlet 将跟踪输出发送到的文件。 此参数还会选择文件跟踪侦听器。 如果使用此参数启动跟踪,请使用 RemoveFileListener 参数停止跟踪。
参数属性
| 类型: | String | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
| 别名: | PSPath, 路径 | 
参数集
					optionsSet 
					
				 
				| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-Force
指示 cmdlet 覆盖只读文件。 与 FilePath 参数一起使用。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
					optionsSet 
					
				 
				| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-ListenerOption 
		指定输出中每个跟踪消息的前缀的可选数据。 此参数的可接受值为:
- None
- LogicalOperationStack
- DateTime
- Timestamp
- ProcessId
- ThreadId
- Callstack
              None 是默认值。
这些值被定义为以标志为基础的枚举。 可以使用此参数将多个值组合在一起以设置多个标志。 可以将值作为值数组或这些值的逗号分隔字符串传递给 ListenerOption 参数。 该 cmdlet 将使用二进制 OR作合并这些值。 将值作为数组传递是最简单的选项,还允许对值使用 Tab 补全。
参数属性
| 类型: | TraceOptions | 
| 默认值: | None | 
| 接受的值: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
					optionsSet 
					
				 
				| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-Name
指定跟踪哪些组件。 输入每个组件的跟踪源的名称。 允许使用通配符。
参数属性
| 类型: | String[] | 
| 默认值: | None | 
| 支持通配符: | True | 
| 不显示: | False | 
参数集
(All)
| Position: | 0 | 
| 必需: | True | 
| 来自管道的值: | True | 
| 来自管道的值(按属性名称): | True | 
| 来自剩余参数的值: | False | 
-Option
指定跟踪的事件的类型。 此参数的可接受值为:
- None
- Constructor
- Dispose
- Finalizer
- Method
- Property
- Delegates
- Events
- Exception
- Lock
- Error
- Errors
- Warning
- Verbose
- WriteLine
- Data
- Scope
- ExecutionFlow
- Assert
- All
              None 是默认值。
以下值是其他值的组合:
- 
              ExecutionFlow:Constructor、Dispose、Finalizer、Method、Delegates、Events、Scope
- 
              Data:Constructor、Dispose、Finalizer、Property、Verbose、WriteLine
- 
              Errors:Error,Exception
这些值被定义为以标志为基础的枚举。 可以使用此参数将多个值组合在一起以设置多个标志。 可以将值作为值数组或这些值的逗号分隔字符串传递给 Option 参数。 该 cmdlet 将使用二进制 OR作合并这些值。 将值作为数组传递是最简单的选项,还允许对值使用 Tab 补全。
参数属性
| 类型: | PSTraceSourceOptions | 
| 默认值: | None | 
| 接受的值: | None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
					optionsSet 
					
				 
				| Position: | 1 | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | True | 
| 来自剩余参数的值: | False | 
-PassThru 
		返回一个对象,该对象表示你正在处理的项目。 默认情况下,此 cmdlet 不生成任何输出。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
					optionsSet 
					
				 
				| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-PSHost
指示此 cmdlet 将跟踪输出发送到 PowerShell 主机。 此参数还会选择 PSHost 跟踪侦听器。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
					optionsSet 
					
				 
				| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-RemoveFileListener  
		通过删除与指定文件关联的文件跟踪侦听器来停止跟踪。 输入跟踪输出文件的路径和文件名。
参数属性
| 类型: | String[] | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
					removeFileListenersSet 
					
				   
				| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-RemoveListener 
		通过删除跟踪侦听器来停止跟踪。
将以下值用于 RemoveListener:
- 若要删除 PSHost(控制台),请键入 Host。
- 若要删除调试器,请键入 Debug。
- 若要删除所有跟踪侦听器,请键入 *。
若要删除文件跟踪侦听器,请使用 RemoveFileListener 参数。
参数属性
| 类型: | String[] | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
					removeAllListenersSet 
					
				   
				| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
String
可以通过管道将包含名称的字符串传递给此 cmdlet。
输出
None
默认情况下,此 cmdlet 不返回任何输出。
PSTraceSource
使用 PassThru 参数时,此 cmdlet 返回表示跟踪会话的 PSTraceSource 对象。
备注
- 跟踪是开发人员用于调试和优化程序的方法。 跟踪时,程序会生成有关其内部处理中每个步骤的详细消息。 - PowerShell 跟踪 cmdlet 旨在帮助 PowerShell 开发人员,但可供所有用户使用。 它们允许你监视 PowerShell 功能的几乎所有方面。 - 跟踪源是管理跟踪和生成组件跟踪消息的每个 PowerShell 组件的一部分。 若要跟踪组件,请标识其跟踪源。 - 跟踪侦听器接收跟踪的输出并将其显示给用户。 可以选择将跟踪数据发送到用户模式或内核模式调试器、控制台、文件或 派生自 system.Diagnostics.TraceListener 类的自定义侦听器。 
- 若要启动跟踪,请使用 Name 参数指定跟踪源和 FilePath、调试器或 PSHost 参数来指定侦听器(输出的目标)。 使用 Options 参数来确定跟踪的事件类型和 ListenerOption 参数以配置跟踪输出。 
- 若要更改跟踪的配置,请输入一个 - Set-TraceSource命令,就像启动跟踪一样。 PowerShell 可识别跟踪源已被跟踪。 它会停止跟踪,添加新配置,并启动或重启跟踪。
- 若要停止跟踪,请使用 RemoveListener 参数。 若要停止使用文件侦听器的跟踪(使用 FilePath 参数启动的跟踪),请使用 RemoveFileListener 参数。 删除侦听器时,跟踪将停止。 
- 若要确定可跟踪哪些组件,请使用 Get-TraceSource。 当组件正在使用时,每个模块的跟踪源会自动加载,并且它们显示在 - Get-TraceSource的输出中。