Updates from: 04/02/2021 03:12:28
Service Microsoft Docs article Related commit history on GitHub Change details
Microsoft.PowerShell.Utility Set Tracesource (5.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/5.1/Microsoft.PowerShell.Utility/Set-TraceSource.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/set-tracesource?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Set-TraceSource --- # Set-TraceSource
-## SYNOPSIS
+## Synopsis
Configures, starts, and stops a trace of PowerShell components.
-## SYNTAX
+## Syntax
### optionsSet (Default)
Set-TraceSource [-Name] <String[]> [-RemoveListener <String[]>] [<CommonParamete
Set-TraceSource [-Name] <String[]> [-RemoveFileListener <String[]>] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
-The **Set-TraceSource** cmdlet configures, starts, and stops a trace of a PowerShell component.
-You can use it to specify which components will be traced and where the tracing output is sent.
+The `Set-TraceSource` cmdlet configures, starts, and stops a trace of a PowerShell component. You
+can use it to specify which components will be traced and where the tracing output is sent.
-## EXAMPLES
+## Examples
### Example 1: Trace the ParameterBinding component ```
-PS C:\> Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"
+Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"
```
-This command starts tracing for the ParameterBinding component of PowerShell.
-It uses the *Name* parameter to specify the trace source, the *Option* parameter to select the ExecutionFlow trace events, and the *PSHost* parameter to select the PowerShell host listener, which sends the output to the console.
-The *ListenerOption* parameter adds the ProcessID and TimeStamp values to the trace message prefix.
+This command starts tracing for the ParameterBinding component of PowerShell. It uses the **Name**
+parameter to specify the trace source, the **Option** parameter to select the `ExecutionFlow` trace
+events, and the **PSHost** parameter to select the PowerShell host listener, which sends the output
+to the console. The **ListenerOption** parameter adds the `ProcessID` and `TimeStamp` values to the
+trace message prefix.
### Example 2: Stop a trace ```
-PS C:\> Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"
+Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"
```
-This command stops the trace of the ParameterBinding component of PowerShell.
-It uses the *Name* parameter to identify the component that was being traced and the *RemoveListener* parameter to identify the trace listener.
+This command stops the trace of the **ParameterBinding** component of PowerShell. It uses the
+**Name** parameter to identify the component that was being traced and the **RemoveListener**
+parameter to identify the trace listener.
-## PARAMETERS
+## Parameters
### -Debugger
-Indicates that the cmdlet sends the trace output to the debugger.
-You can view the output in any user-mode or kernel mode debugger or in Microsoft Visual Studio.
-This parameter also selects the default trace listener.
+Indicates that the cmdlet sends the trace output to the debugger. You can view the output in any
+user-mode or kernel mode debugger or in Microsoft Visual Studio. This parameter also selects the
+default trace listener.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -FilePath
-Specifies a file that this cmdlet sends the trace output to.
-This parameter also selects the file trace listener.
-If you use this parameter to start the trace, use the *RemoveFileListener* parameter to stop the trace.
+Specifies a file that this cmdlet sends the trace output to. This parameter also selects the file
+trace listener. If you use this parameter to start the trace, use the **RemoveFileListener**
+parameter to stop the trace.
```yaml Type: System.String
Accept wildcard characters: False
### -Force
-Indicates that the cmdlet overwrites a read-only file.
-Use with the *FilePath* parameter.
+Indicates that the cmdlet overwrites a read-only file. Use with the **FilePath** parameter.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -ListenerOption
-Specifies optional data to the prefix of each trace message in the output.
-The acceptable values for this parameter are:
+Specifies optional data to the prefix of each trace message in the output. The acceptable values for
+this parameter are:
-- None-- LogicalOperationStack-- DateTime-- Timestamp-- ProcessId-- ThreadId-- Callstack
+- `None`
+- `LogicalOperationStack`
+- `DateTime`
+- `Timestamp`
+- `ProcessId`
+- `ThreadId`
+- `Callstack`
-None is the default.
+`None` is the default.
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in quotation marks, such as "ProcessID,ThreadID".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **ListenerOption**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
```yaml Type: System.Diagnostics.TraceOptions
Accept wildcard characters: False
### -Name
-Specifies which components are traced.
-Enter the name of the trace source of each component.
+Specifies which components are traced. Enter the name of the trace source of each component.
Wildcards are permitted. ```yaml
Accept wildcard characters: True
### -Option
-Specifies the type of events that are traced.
-The acceptable values for this parameter are:
--- None-- Constructor-- Dispose-- Finalizer-- Method-- Property-- Delegates-- Events-- Exception-- Lock-- Error-- Errors-- Warning-- Verbose-- WriteLine-- Data-- Scope-- ExecutionFlow-- Assert-- All-
-All is the default.
+Specifies the type of events that are traced. The acceptable values for this parameter are:
+
+- `None`
+- `Constructor`
+- `Dispose`
+- `Finalizer`
+- `Method`
+- `Property`
+- `Delegates`
+- `Events`
+- `Exception`
+- `Lock`
+- `Error`
+- `Errors`
+- `Warning`
+- `Verbose`
+- `WriteLine`
+- `Data`
+- `Scope`
+- `ExecutionFlow`
+- `Assert`
+- `All`
+
+`All` is the default.
The following values are combinations of other values: -- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events, and Scope)-- Data: (Constructor, Dispose, Finalizer, Property, Verbose, and WriteLine)-- Errors: (Error and Exception).
+- `ExecutionFlow`: `Constructor`, `Dispose`, `Finalizer`, `Method`, `Delegates`, `Events`, `Scope`
+- `Data`: `Constructor`, `Dispose`, `Finalizer`, `Property`, `Verbose`, `WriteLine`
+- `Errors`: `Error`, `Exception`
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in quotation marks, such as "Constructor,Dispose".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.PSTraceSourceOptions
Accept wildcard characters: False
### -PassThru
-Returns an object representing the item with which you are working.
-By default, this cmdlet does not generate any output.
+Returns an object representing the item with which you are working. By default, this cmdlet does not
+generate any output.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -PSHost
-ndicates that this cmdlet sends the trace output to the PowerShell host.
-This parameter also selects the PSHost trace listener.
+Indicates that this cmdlet sends the trace output to the PowerShell host. This parameter also
+selects the PSHost trace listener.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -RemoveFileListener
-Stops the trace by removing the file trace listener associated with the specified file.
-Enter the path and file name of the trace output file.
+Stops the trace by removing the file trace listener associated with the specified file. Enter the
+path and file name of the trace output file.
```yaml Type: System.String[]
Accept wildcard characters: False
Stops the trace by removing the trace listener.
-Use the following values with *RemoveListener*:
+Use the following values with **RemoveListener**:
- To remove PSHost (console), type `Host`. - To remove Debugger, type `Debug`. - To remove all trace listeners, type `*`.
-To remove the file trace listener, use the *RemoveFileListener* parameter.
+To remove the file trace listener, use the **RemoveFileListener** parameter.
```yaml Type: System.String[]
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.String
-You can pipe a string that contains a name to **Set-TraceSource**.
+You can pipe a string that contains a name to `Set-TraceSource`.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.PSTraceSource
-When you use the *PassThru* parameter, **Set-TraceSource** generates a **System.Management.Automation.PSTraceSource** object representing the trace session.
-Otherwise, this cmdlet does not generate any output.
+When you use the **PassThru** parameter, `Set-TraceSource` generates a
+**System.Management.Automation.PSTraceSource** object representing the trace session. Otherwise,
+this cmdlet does not generate any output.
-## NOTES
+## Notes
-* Tracing is a method that developers use to debug and refine programs. When tracing, the program generates detailed messages about each step in its internal processing.
+- Tracing is a method that developers use to debug and refine programs. When tracing, the program
+ generates detailed messages about each step in its internal processing.
- The PowerShell tracing cmdlets are designed to help PowerShell developers, but they are available to all users.
-They let you monitor nearly every aspect of the functionality of PowerShell.
+ The PowerShell tracing cmdlets are designed to help PowerShell developers, but they are available
+ to all users. They let you monitor nearly every aspect of the functionality of PowerShell.
- A trace source is the part of each PowerShell component that manages tracing and generates trace messages for the component.
-To trace a component, you identify its trace source.
+ A trace source is the part of each PowerShell component that manages tracing and generates trace
+ messages for the component. To trace a component, you identify its trace source.
- A trace listener receives the output of the trace and displays it to the user.
-You can elect to send the trace data to a user-mode or kernel-mode debugger, to the console, to a file, or to a custom listener derived from the **System.Diagnostics.TraceListener** class.
+ A trace listener receives the output of the trace and displays it to the user. You can elect to
+ send the trace data to a user-mode or kernel-mode debugger, to the console, to a file, or to a
+ custom listener derived from the **System.Diagnostics.TraceListener** class.
-* To start a trace, use the *Name* parameter to specify a trace source and the *FilePath*, *Debugger*, or *PSHost* parameters to specify a listener (a destination for the output). Use the *Options* parameter to determine the types of events that are traced and the *ListenerOption* parameter to configure the trace output.
-* To change the configuration of a trace, enter a **Set-TraceSource** command as you would to start a trace. PowerShell recognizes that the trace source is already being traced. It stops the trace, adds the new configuration, and starts or restarts the trace.
-* To stop a trace, use the *RemoveListener* parameter. To stop a trace that uses the file listener (a trace started by using the *FilePath* parameter), use the *RemoveFileListener* parameter. When you remove the listener, the trace stops.
-* To determine which components can be traced, use Get-TraceSource. The trace sources for each module are loaded automatically when the component is in use, and they appear in the output of **Get-TraceSource**.
+- To start a trace, use the **Name** parameter to specify a trace source and the **FilePath**,
+ **Debugger**, or **PSHost** parameters to specify a listener (a destination for the output). Use
+ the **Options** parameter to determine the types of events that are traced and the
+ **ListenerOption** parameter to configure the trace output.
+- To change the configuration of a trace, enter a `Set-TraceSource` command as you would to start a
+ trace. PowerShell recognizes that the trace source is already being traced. It stops the trace,
+ adds the new configuration, and starts or restarts the trace.
+- To stop a trace, use the **RemoveListener** parameter. To stop a trace that uses the file listener
+ (a trace started by using the **FilePath** parameter), use the **RemoveFileListener** parameter.
+ When you remove the listener, the trace stops.
+- To determine which components can be traced, use Get-TraceSource. The trace sources for each
+ module are loaded automatically when the component is in use, and they appear in the output of
+ `Get-TraceSource`.
-## RELATED LINKS
+## Related Links
[Get-TraceSource](Get-TraceSource.md)
Microsoft.PowerShell.Utility Trace Command (5.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/5.1/Microsoft.PowerShell.Utility/Trace-Command.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 04/09/2020 Last updated : 04/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/trace-command?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Trace-Command
Title: Trace-Command
# Trace-Command
-## SYNOPSIS
+## Synopsis
Configures and starts a trace of the specified expression or command.
-## SYNTAX
+## Syntax
### expressionSet (Default)
Trace-Command [-InputObject <PSObject>] [-Name] <String[]> [[-Option] <PSTraceSo
[-Debugger] [-PSHost] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
+ The `Trace-Command` cmdlet configures and starts a trace of the specified expression or command. It works like Set-TraceSource, except that it applies only to the specified command.
-## EXAMPLES
+## Examples
### Example 1: Trace metadata processing, parameter binding, and an expression
specify any tracing options or listener options, the command uses the defaults:
### Example 2: Trace the actions of ParameterBinding operations
-This example traces the actions of the **ParameterBinding** operations of PowerShell while it processes
-a `Get-Alias` expression that takes input from the pipeline.
+This example traces the actions of the **ParameterBinding** operations of PowerShell while it
+processes a `Get-Alias` expression that takes input from the pipeline.
```powershell $A = "i*"
the **InputObject** parameter. The **InputObject** parameter passes the variable
expression. In effect, the command being processed during the trace is `Get-Alias -InputObject $A" or "$A | Get-Alias`.
-## PARAMETERS
+## Parameters
### -ArgumentList
Accept wildcard characters: False
Specifies optional data to the prefix of each trace message in the output. The acceptable values for this parameter are: -- None-- LogicalOperationStack-- DateTime-- Timestamp-- ProcessId-- ThreadId-- Callstack
+- `None`
+- `LogicalOperationStack`
+- `DateTime`
+- `Timestamp`
+- `ProcessId`
+- `ThreadId`
+- `Callstack`
-**None** is the default.
+`None` is the default.
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in
-quotation marks, such as "ProcessID,ThreadID".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **ListenerOption**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
```yaml Type: System.Diagnostics.TraceOptions
Accept wildcard characters: False
Determines the type of events that are traced. The acceptable values for this parameter are: -- None-- Constructor-- Dispose-- Finalizer-- Method-- Property-- Delegates-- Events-- Exception-- Lock-- Error-- Errors-- Warning-- Verbose-- WriteLine-- Data-- Scope-- ExecutionFlow-- Assert-- All-
-All is the default.
+- `None`
+- `Constructor`
+- `Dispose`
+- `Finalizer`
+- `Method`
+- `Property`
+- `Delegates`
+- `Events`
+- `Exception`
+- `Lock`
+- `Error`
+- `Errors`
+- `Warning`
+- `Verbose`
+- `WriteLine`
+- `Data`
+- `Scope`
+- `ExecutionFlow`
+- `Assert`
+- `All`
+
+`All` is the default.
The following values are combinations of other values: -- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events, and Scope)-- Data: (Constructor, Dispose, Finalizer, Property, Verbose, and WriteLine)-- Errors: (Error and Exception).
+- `ExecutionFlow`: `Constructor`, `Dispose`, `Finalizer`, `Method`, `Delegates`, `Events`, `Scope`
+- `Data`: `Constructor`, `Dispose`, `Finalizer`, `Property`, `Verbose`, `WriteLine`
+- `Errors`: `Error`, `Exception`
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in
-quotation marks, such as "Constructor,Dispose".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.PSTraceSourceOptions
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.Management.Automation.PSObject You can pipe objects that represent input to the expression to `Trace-Command`.
-## OUTPUTS
+## Outputs
### System.Management.Automation.PSObject Returns the command trace in the debug stream.
-## NOTES
+## Notes
- Tracing is a method that developers use to debug and refine programs. When tracing, the program generates detailed messages about each step in its internal processing.
Returns the command trace in the debug stream.
**Expression**, **Option** or **Name**, **Command**, **Option**. If you include the parameter names, the parameters can appear in any order.
-## RELATED LINKS
+## Related Links
[Get-TraceSource](Get-TraceSource.md)
Microsoft.PowerShell.Utility Set Tracesource (7.0) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.0/Microsoft.PowerShell.Utility/Set-TraceSource.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/set-tracesource?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Set-TraceSource --- # Set-TraceSource
-## SYNOPSIS
+## Synopsis
Configures, starts, and stops a trace of PowerShell components.
-## SYNTAX
+## Syntax
### optionsSet (Default)
Set-TraceSource [-Name] <String[]> [-RemoveListener <String[]>] [<CommonParamete
Set-TraceSource [-Name] <String[]> [-RemoveFileListener <String[]>] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
-The **Set-TraceSource** cmdlet configures, starts, and stops a trace of a PowerShell component.
-You can use it to specify which components will be traced and where the tracing output is sent.
+The `Set-TraceSource` cmdlet configures, starts, and stops a trace of a PowerShell component. You
+can use it to specify which components will be traced and where the tracing output is sent.
-## EXAMPLES
+## Examples
### Example 1: Trace the ParameterBinding component ```
-PS C:\> Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"
+Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"
```
-This command starts tracing for the ParameterBinding component of PowerShell.
-It uses the *Name* parameter to specify the trace source, the *Option* parameter to select the ExecutionFlow trace events, and the *PSHost* parameter to select the PowerShell host listener, which sends the output to the console.
-The *ListenerOption* parameter adds the ProcessID and TimeStamp values to the trace message prefix.
+This command starts tracing for the ParameterBinding component of PowerShell. It uses the **Name**
+parameter to specify the trace source, the **Option** parameter to select the `ExecutionFlow` trace
+events, and the **PSHost** parameter to select the PowerShell host listener, which sends the output
+to the console. The **ListenerOption** parameter adds the `ProcessID` and `TimeStamp` values to the
+trace message prefix.
### Example 2: Stop a trace ```
-PS C:\> Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"
+Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"
```
-This command stops the trace of the ParameterBinding component of PowerShell.
-It uses the *Name* parameter to identify the component that was being traced and the *RemoveListener* parameter to identify the trace listener.
+This command stops the trace of the **ParameterBinding** component of PowerShell. It uses the
+**Name** parameter to identify the component that was being traced and the **RemoveListener**
+parameter to identify the trace listener.
-## PARAMETERS
+## Parameters
### -Debugger
-Indicates that the cmdlet sends the trace output to the debugger.
-You can view the output in any user-mode or kernel mode debugger or in Microsoft Visual Studio.
-This parameter also selects the default trace listener.
+Indicates that the cmdlet sends the trace output to the debugger. You can view the output in any
+user-mode or kernel mode debugger or in Microsoft Visual Studio. This parameter also selects the
+default trace listener.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -FilePath
-Specifies a file that this cmdlet sends the trace output to.
-This parameter also selects the file trace listener.
-If you use this parameter to start the trace, use the *RemoveFileListener* parameter to stop the trace.
+Specifies a file that this cmdlet sends the trace output to. This parameter also selects the file
+trace listener. If you use this parameter to start the trace, use the **RemoveFileListener**
+parameter to stop the trace.
```yaml Type: System.String
Accept wildcard characters: False
### -Force
-Indicates that the cmdlet overwrites a read-only file.
-Use with the *FilePath* parameter.
+Indicates that the cmdlet overwrites a read-only file. Use with the **FilePath** parameter.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -ListenerOption
-Specifies optional data to the prefix of each trace message in the output.
-The acceptable values for this parameter are:
+Specifies optional data to the prefix of each trace message in the output. The acceptable values for
+this parameter are:
-- None-- LogicalOperationStack-- DateTime-- Timestamp-- ProcessId-- ThreadId-- Callstack
+- `None`
+- `LogicalOperationStack`
+- `DateTime`
+- `Timestamp`
+- `ProcessId`
+- `ThreadId`
+- `Callstack`
-None is the default.
+`None` is the default.
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in quotation marks, such as "ProcessID,ThreadID".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **ListenerOption**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
```yaml Type: System.Diagnostics.TraceOptions
Accept wildcard characters: False
### -Name
-Specifies which components are traced.
-Enter the name of the trace source of each component.
+Specifies which components are traced. Enter the name of the trace source of each component.
Wildcards are permitted. ```yaml
Accept wildcard characters: True
### -Option
-Specifies the type of events that are traced.
-The acceptable values for this parameter are:
--- None-- Constructor-- Dispose-- Finalizer-- Method-- Property-- Delegates-- Events-- Exception-- Lock-- Error-- Errors-- Warning-- Verbose-- WriteLine-- Data-- Scope-- ExecutionFlow-- Assert-- All-
-All is the default.
+Specifies the type of events that are traced. The acceptable values for this parameter are:
+
+- `None`
+- `Constructor`
+- `Dispose`
+- `Finalizer`
+- `Method`
+- `Property`
+- `Delegates`
+- `Events`
+- `Exception`
+- `Lock`
+- `Error`
+- `Errors`
+- `Warning`
+- `Verbose`
+- `WriteLine`
+- `Data`
+- `Scope`
+- `ExecutionFlow`
+- `Assert`
+- `All`
+
+`All` is the default.
The following values are combinations of other values: -- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events, and Scope)-- Data: (Constructor, Dispose, Finalizer, Property, Verbose, and WriteLine)-- Errors: (Error and Exception).
+- `ExecutionFlow`: `Constructor`, `Dispose`, `Finalizer`, `Method`, `Delegates`, `Events`, `Scope`
+- `Data`: `Constructor`, `Dispose`, `Finalizer`, `Property`, `Verbose`, `WriteLine`
+- `Errors`: `Error`, `Exception`
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in quotation marks, such as "Constructor,Dispose".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.PSTraceSourceOptions
Accept wildcard characters: False
### -PassThru
-Returns an object representing the item with which you are working.
-By default, this cmdlet does not generate any output.
+Returns an object representing the item with which you are working. By default, this cmdlet does not
+generate any output.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -PSHost
-ndicates that this cmdlet sends the trace output to the PowerShell host.
-This parameter also selects the PSHost trace listener.
+Indicates that this cmdlet sends the trace output to the PowerShell host. This parameter also
+selects the PSHost trace listener.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -RemoveFileListener
-Stops the trace by removing the file trace listener associated with the specified file.
-Enter the path and file name of the trace output file.
+Stops the trace by removing the file trace listener associated with the specified file. Enter the
+path and file name of the trace output file.
```yaml Type: System.String[]
Accept wildcard characters: False
Stops the trace by removing the trace listener.
-Use the following values with *RemoveListener*:
+Use the following values with **RemoveListener**:
- To remove PSHost (console), type `Host`. - To remove Debugger, type `Debug`. - To remove all trace listeners, type `*`.
-To remove the file trace listener, use the *RemoveFileListener* parameter.
+To remove the file trace listener, use the **RemoveFileListener** parameter.
```yaml Type: System.String[]
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.String
-You can pipe a string that contains a name to **Set-TraceSource**.
+You can pipe a string that contains a name to `Set-TraceSource`.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.PSTraceSource
-When you use the *PassThru* parameter, **Set-TraceSource** generates a **System.Management.Automation.PSTraceSource** object representing the trace session.
-Otherwise, this cmdlet does not generate any output.
+When you use the **PassThru** parameter, `Set-TraceSource` generates a
+**System.Management.Automation.PSTraceSource** object representing the trace session. Otherwise,
+this cmdlet does not generate any output.
-## NOTES
+## Notes
-* Tracing is a method that developers use to debug and refine programs. When tracing, the program generates detailed messages about each step in its internal processing.
+- Tracing is a method that developers use to debug and refine programs. When tracing, the program
+ generates detailed messages about each step in its internal processing.
- The PowerShell tracing cmdlets are designed to help PowerShell developers, but they are available to all users.
-They let you monitor nearly every aspect of the functionality of PowerShell.
+ The PowerShell tracing cmdlets are designed to help PowerShell developers, but they are available
+ to all users. They let you monitor nearly every aspect of the functionality of PowerShell.
- A trace source is the part of each PowerShell component that manages tracing and generates trace messages for the component.
-To trace a component, you identify its trace source.
+ A trace source is the part of each PowerShell component that manages tracing and generates trace
+ messages for the component. To trace a component, you identify its trace source.
- A trace listener receives the output of the trace and displays it to the user.
-You can elect to send the trace data to a user-mode or kernel-mode debugger, to the console, to a file, or to a custom listener derived from the **System.Diagnostics.TraceListener** class.
+ A trace listener receives the output of the trace and displays it to the user. You can elect to
+ send the trace data to a user-mode or kernel-mode debugger, to the console, to a file, or to a
+ custom listener derived from the **System.Diagnostics.TraceListener** class.
-* To start a trace, use the *Name* parameter to specify a trace source and the *FilePath*, *Debugger*, or *PSHost* parameters to specify a listener (a destination for the output). Use the *Options* parameter to determine the types of events that are traced and the *ListenerOption* parameter to configure the trace output.
-* To change the configuration of a trace, enter a **Set-TraceSource** command as you would to start a trace. PowerShell recognizes that the trace source is already being traced. It stops the trace, adds the new configuration, and starts or restarts the trace.
-* To stop a trace, use the *RemoveListener* parameter. To stop a trace that uses the file listener (a trace started by using the *FilePath* parameter), use the *RemoveFileListener* parameter. When you remove the listener, the trace stops.
-* To determine which components can be traced, use Get-TraceSource. The trace sources for each module are loaded automatically when the component is in use, and they appear in the output of **Get-TraceSource**.
+- To start a trace, use the **Name** parameter to specify a trace source and the **FilePath**,
+ **Debugger**, or **PSHost** parameters to specify a listener (a destination for the output). Use
+ the **Options** parameter to determine the types of events that are traced and the
+ **ListenerOption** parameter to configure the trace output.
+- To change the configuration of a trace, enter a `Set-TraceSource` command as you would to start a
+ trace. PowerShell recognizes that the trace source is already being traced. It stops the trace,
+ adds the new configuration, and starts or restarts the trace.
+- To stop a trace, use the **RemoveListener** parameter. To stop a trace that uses the file listener
+ (a trace started by using the **FilePath** parameter), use the **RemoveFileListener** parameter.
+ When you remove the listener, the trace stops.
+- To determine which components can be traced, use Get-TraceSource. The trace sources for each
+ module are loaded automatically when the component is in use, and they appear in the output of
+ `Get-TraceSource`.
-## RELATED LINKS
+## Related Links
[Get-TraceSource](Get-TraceSource.md)
Microsoft.PowerShell.Utility Trace Command (7.0) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.0/Microsoft.PowerShell.Utility/Trace-Command.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 04/09/2020 Last updated : 04/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/trace-command?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Trace-Command
Title: Trace-Command
# Trace-Command
-## SYNOPSIS
+## Synopsis
Configures and starts a trace of the specified expression or command.
-## SYNTAX
+## Syntax
### expressionSet (Default)
Trace-Command [-InputObject <PSObject>] [-Name] <String[]> [[-Option] <PSTraceSo
[-Debugger] [-PSHost] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
+ The `Trace-Command` cmdlet configures and starts a trace of the specified expression or command. It works like Set-TraceSource, except that it applies only to the specified command.
-## EXAMPLES
+## Examples
### Example 1: Trace metadata processing, parameter binding, and an expression
specify any tracing options or listener options, the command uses the defaults:
### Example 2: Trace the actions of ParameterBinding operations
-This example traces the actions of the **ParameterBinding** operations of PowerShell while it processes
-a `Get-Alias` expression that takes input from the pipeline.
+This example traces the actions of the **ParameterBinding** operations of PowerShell while it
+processes a `Get-Alias` expression that takes input from the pipeline.
```powershell $A = "i*"
the **InputObject** parameter. The **InputObject** parameter passes the variable
expression. In effect, the command being processed during the trace is `Get-Alias -InputObject $A" or "$A | Get-Alias`.
-## PARAMETERS
+## Parameters
### -ArgumentList
Accept wildcard characters: False
Specifies optional data to the prefix of each trace message in the output. The acceptable values for this parameter are: -- None-- LogicalOperationStack-- DateTime-- Timestamp-- ProcessId-- ThreadId-- Callstack
+- `None`
+- `LogicalOperationStack`
+- `DateTime`
+- `Timestamp`
+- `ProcessId`
+- `ThreadId`
+- `Callstack`
-**None** is the default.
+`None` is the default.
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in
-quotation marks, such as "ProcessID,ThreadID".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **ListenerOption**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
```yaml Type: System.Diagnostics.TraceOptions
Accept wildcard characters: False
Determines the type of events that are traced. The acceptable values for this parameter are: -- None-- Constructor-- Dispose-- Finalizer-- Method-- Property-- Delegates-- Events-- Exception-- Lock-- Error-- Errors-- Warning-- Verbose-- WriteLine-- Data-- Scope-- ExecutionFlow-- Assert-- All-
-All is the default.
+- `None`
+- `Constructor`
+- `Dispose`
+- `Finalizer`
+- `Method`
+- `Property`
+- `Delegates`
+- `Events`
+- `Exception`
+- `Lock`
+- `Error`
+- `Errors`
+- `Warning`
+- `Verbose`
+- `WriteLine`
+- `Data`
+- `Scope`
+- `ExecutionFlow`
+- `Assert`
+- `All`
+
+`All` is the default.
The following values are combinations of other values: -- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events, and Scope)-- Data: (Constructor, Dispose, Finalizer, Property, Verbose, and WriteLine)-- Errors: (Error and Exception).
+- `ExecutionFlow`: `Constructor`, `Dispose`, `Finalizer`, `Method`, `Delegates`, `Events`, `Scope`
+- `Data`: `Constructor`, `Dispose`, `Finalizer`, `Property`, `Verbose`, `WriteLine`
+- `Errors`: `Error`, `Exception`
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in
-quotation marks, such as "Constructor,Dispose".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.PSTraceSourceOptions
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.Management.Automation.PSObject You can pipe objects that represent input to the expression to `Trace-Command`.
-## OUTPUTS
+## Outputs
### System.Management.Automation.PSObject Returns the command trace in the debug stream.
-## NOTES
+## Notes
- Tracing is a method that developers use to debug and refine programs. When tracing, the program generates detailed messages about each step in its internal processing.
Returns the command trace in the debug stream.
**Expression**, **Option** or **Name**, **Command**, **Option**. If you include the parameter names, the parameters can appear in any order.
-## RELATED LINKS
+## Related Links
[Get-TraceSource](Get-TraceSource.md)
Microsoft.PowerShell.Utility Set Tracesource (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Utility/Set-TraceSource.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/set-tracesource?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Set-TraceSource --- # Set-TraceSource
-## SYNOPSIS
+## Synopsis
Configures, starts, and stops a trace of PowerShell components.
-## SYNTAX
+## Syntax
### optionsSet (Default)
Set-TraceSource [-Name] <String[]> [-RemoveListener <String[]>] [<CommonParamete
Set-TraceSource [-Name] <String[]> [-RemoveFileListener <String[]>] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
-The **Set-TraceSource** cmdlet configures, starts, and stops a trace of a PowerShell component.
-You can use it to specify which components will be traced and where the tracing output is sent.
+The `Set-TraceSource` cmdlet configures, starts, and stops a trace of a PowerShell component. You
+can use it to specify which components will be traced and where the tracing output is sent.
-## EXAMPLES
+## Examples
### Example 1: Trace the ParameterBinding component ```
-PS C:\> Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"
+Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"
```
-This command starts tracing for the ParameterBinding component of PowerShell.
-It uses the *Name* parameter to specify the trace source, the *Option* parameter to select the ExecutionFlow trace events, and the *PSHost* parameter to select the PowerShell host listener, which sends the output to the console.
-The *ListenerOption* parameter adds the ProcessID and TimeStamp values to the trace message prefix.
+This command starts tracing for the ParameterBinding component of PowerShell. It uses the **Name**
+parameter to specify the trace source, the **Option** parameter to select the `ExecutionFlow` trace
+events, and the **PSHost** parameter to select the PowerShell host listener, which sends the output
+to the console. The **ListenerOption** parameter adds the `ProcessID` and `TimeStamp` values to the
+trace message prefix.
### Example 2: Stop a trace ```
-PS C:\> Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"
+Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"
```
-This command stops the trace of the ParameterBinding component of PowerShell.
-It uses the *Name* parameter to identify the component that was being traced and the *RemoveListener* parameter to identify the trace listener.
+This command stops the trace of the **ParameterBinding** component of PowerShell. It uses the
+**Name** parameter to identify the component that was being traced and the **RemoveListener**
+parameter to identify the trace listener.
-## PARAMETERS
+## Parameters
### -Debugger
-Indicates that the cmdlet sends the trace output to the debugger.
-You can view the output in any user-mode or kernel mode debugger or in Microsoft Visual Studio.
-This parameter also selects the default trace listener.
+Indicates that the cmdlet sends the trace output to the debugger. You can view the output in any
+user-mode or kernel mode debugger or in Microsoft Visual Studio. This parameter also selects the
+default trace listener.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -FilePath
-Specifies a file that this cmdlet sends the trace output to.
-This parameter also selects the file trace listener.
-If you use this parameter to start the trace, use the *RemoveFileListener* parameter to stop the trace.
+Specifies a file that this cmdlet sends the trace output to. This parameter also selects the file
+trace listener. If you use this parameter to start the trace, use the **RemoveFileListener**
+parameter to stop the trace.
```yaml Type: System.String
Accept wildcard characters: False
### -Force
-Indicates that the cmdlet overwrites a read-only file.
-Use with the *FilePath* parameter.
+Indicates that the cmdlet overwrites a read-only file. Use with the **FilePath** parameter.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -ListenerOption
-Specifies optional data to the prefix of each trace message in the output.
-The acceptable values for this parameter are:
+Specifies optional data to the prefix of each trace message in the output. The acceptable values for
+this parameter are:
-- None-- LogicalOperationStack-- DateTime-- Timestamp-- ProcessId-- ThreadId-- Callstack
+- `None`
+- `LogicalOperationStack`
+- `DateTime`
+- `Timestamp`
+- `ProcessId`
+- `ThreadId`
+- `Callstack`
-None is the default.
+`None` is the default.
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in quotation marks, such as "ProcessID,ThreadID".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **ListenerOption**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
```yaml Type: System.Diagnostics.TraceOptions
Accept wildcard characters: False
### -Name
-Specifies which components are traced.
-Enter the name of the trace source of each component.
+Specifies which components are traced. Enter the name of the trace source of each component.
Wildcards are permitted. ```yaml
Accept wildcard characters: True
### -Option
-Specifies the type of events that are traced.
-The acceptable values for this parameter are:
--- None-- Constructor-- Dispose-- Finalizer-- Method-- Property-- Delegates-- Events-- Exception-- Lock-- Error-- Errors-- Warning-- Verbose-- WriteLine-- Data-- Scope-- ExecutionFlow-- Assert-- All-
-All is the default.
+Specifies the type of events that are traced. The acceptable values for this parameter are:
+
+- `None`
+- `Constructor`
+- `Dispose`
+- `Finalizer`
+- `Method`
+- `Property`
+- `Delegates`
+- `Events`
+- `Exception`
+- `Lock`
+- `Error`
+- `Errors`
+- `Warning`
+- `Verbose`
+- `WriteLine`
+- `Data`
+- `Scope`
+- `ExecutionFlow`
+- `Assert`
+- `All`
+
+`All` is the default.
The following values are combinations of other values: -- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events, and Scope)-- Data: (Constructor, Dispose, Finalizer, Property, Verbose, and WriteLine)-- Errors: (Error and Exception).
+- `ExecutionFlow`: `Constructor`, `Dispose`, `Finalizer`, `Method`, `Delegates`, `Events`, `Scope`
+- `Data`: `Constructor`, `Dispose`, `Finalizer`, `Property`, `Verbose`, `WriteLine`
+- `Errors`: `Error`, `Exception`
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in quotation marks, such as "Constructor,Dispose".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.PSTraceSourceOptions
Accept wildcard characters: False
### -PassThru
-Returns an object representing the item with which you are working.
-By default, this cmdlet does not generate any output.
+Returns an object representing the item with which you are working. By default, this cmdlet does not
+generate any output.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -PSHost
-ndicates that this cmdlet sends the trace output to the PowerShell host.
-This parameter also selects the PSHost trace listener.
+Indicates that this cmdlet sends the trace output to the PowerShell host. This parameter also
+selects the PSHost trace listener.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -RemoveFileListener
-Stops the trace by removing the file trace listener associated with the specified file.
-Enter the path and file name of the trace output file.
+Stops the trace by removing the file trace listener associated with the specified file. Enter the
+path and file name of the trace output file.
```yaml Type: System.String[]
Accept wildcard characters: False
Stops the trace by removing the trace listener.
-Use the following values with *RemoveListener*:
+Use the following values with **RemoveListener**:
- To remove PSHost (console), type `Host`. - To remove Debugger, type `Debug`. - To remove all trace listeners, type `*`.
-To remove the file trace listener, use the *RemoveFileListener* parameter.
+To remove the file trace listener, use the **RemoveFileListener** parameter.
```yaml Type: System.String[]
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.String
-You can pipe a string that contains a name to **Set-TraceSource**.
+You can pipe a string that contains a name to `Set-TraceSource`.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.PSTraceSource
-When you use the *PassThru* parameter, **Set-TraceSource** generates a **System.Management.Automation.PSTraceSource** object representing the trace session.
-Otherwise, this cmdlet does not generate any output.
+When you use the **PassThru** parameter, `Set-TraceSource` generates a
+**System.Management.Automation.PSTraceSource** object representing the trace session. Otherwise,
+this cmdlet does not generate any output.
-## NOTES
+## Notes
-* Tracing is a method that developers use to debug and refine programs. When tracing, the program generates detailed messages about each step in its internal processing.
+- Tracing is a method that developers use to debug and refine programs. When tracing, the program
+ generates detailed messages about each step in its internal processing.
- The PowerShell tracing cmdlets are designed to help PowerShell developers, but they are available to all users.
-They let you monitor nearly every aspect of the functionality of PowerShell.
+ The PowerShell tracing cmdlets are designed to help PowerShell developers, but they are available
+ to all users. They let you monitor nearly every aspect of the functionality of PowerShell.
- A trace source is the part of each PowerShell component that manages tracing and generates trace messages for the component.
-To trace a component, you identify its trace source.
+ A trace source is the part of each PowerShell component that manages tracing and generates trace
+ messages for the component. To trace a component, you identify its trace source.
- A trace listener receives the output of the trace and displays it to the user.
-You can elect to send the trace data to a user-mode or kernel-mode debugger, to the console, to a file, or to a custom listener derived from the **System.Diagnostics.TraceListener** class.
+ A trace listener receives the output of the trace and displays it to the user. You can elect to
+ send the trace data to a user-mode or kernel-mode debugger, to the console, to a file, or to a
+ custom listener derived from the **System.Diagnostics.TraceListener** class.
-* To start a trace, use the *Name* parameter to specify a trace source and the *FilePath*, *Debugger*, or *PSHost* parameters to specify a listener (a destination for the output). Use the *Options* parameter to determine the types of events that are traced and the *ListenerOption* parameter to configure the trace output.
-* To change the configuration of a trace, enter a **Set-TraceSource** command as you would to start a trace. PowerShell recognizes that the trace source is already being traced. It stops the trace, adds the new configuration, and starts or restarts the trace.
-* To stop a trace, use the *RemoveListener* parameter. To stop a trace that uses the file listener (a trace started by using the *FilePath* parameter), use the *RemoveFileListener* parameter. When you remove the listener, the trace stops.
-* To determine which components can be traced, use Get-TraceSource. The trace sources for each module are loaded automatically when the component is in use, and they appear in the output of **Get-TraceSource**.
+- To start a trace, use the **Name** parameter to specify a trace source and the **FilePath**,
+ **Debugger**, or **PSHost** parameters to specify a listener (a destination for the output). Use
+ the **Options** parameter to determine the types of events that are traced and the
+ **ListenerOption** parameter to configure the trace output.
+- To change the configuration of a trace, enter a `Set-TraceSource` command as you would to start a
+ trace. PowerShell recognizes that the trace source is already being traced. It stops the trace,
+ adds the new configuration, and starts or restarts the trace.
+- To stop a trace, use the **RemoveListener** parameter. To stop a trace that uses the file listener
+ (a trace started by using the **FilePath** parameter), use the **RemoveFileListener** parameter.
+ When you remove the listener, the trace stops.
+- To determine which components can be traced, use Get-TraceSource. The trace sources for each
+ module are loaded automatically when the component is in use, and they appear in the output of
+ `Get-TraceSource`.
-## RELATED LINKS
+## Related Links
[Get-TraceSource](Get-TraceSource.md) [Trace-Command](Trace-Command.md)-
Microsoft.PowerShell.Utility Trace Command (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Utility/Trace-Command.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
keywords: powershell,cmdlet Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 04/09/2020 Last updated : 04/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/trace-command?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Trace-Command
Title: Trace-Command
# Trace-Command
-## SYNOPSIS
+## Synopsis
Configures and starts a trace of the specified expression or command.
-## SYNTAX
+## Syntax
### expressionSet (Default)
Trace-Command [-InputObject <PSObject>] [-Name] <String[]> [[-Option] <PSTraceSo
[-Debugger] [-PSHost] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
+ The `Trace-Command` cmdlet configures and starts a trace of the specified expression or command. It works like Set-TraceSource, except that it applies only to the specified command.
-## EXAMPLES
+## Examples
### Example 1: Trace metadata processing, parameter binding, and an expression
specify any tracing options or listener options, the command uses the defaults:
### Example 2: Trace the actions of ParameterBinding operations
-This example traces the actions of the **ParameterBinding** operations of PowerShell while it processes
-a `Get-Alias` expression that takes input from the pipeline.
+This example traces the actions of the **ParameterBinding** operations of PowerShell while it
+processes a `Get-Alias` expression that takes input from the pipeline.
```powershell $A = "i*"
the **InputObject** parameter. The **InputObject** parameter passes the variable
expression. In effect, the command being processed during the trace is `Get-Alias -InputObject $A" or "$A | Get-Alias`.
-## PARAMETERS
+## Parameters
### -ArgumentList
Accept wildcard characters: False
Specifies optional data to the prefix of each trace message in the output. The acceptable values for this parameter are: -- None-- LogicalOperationStack-- DateTime-- Timestamp-- ProcessId-- ThreadId-- Callstack
+- `None`
+- `LogicalOperationStack`
+- `DateTime`
+- `Timestamp`
+- `ProcessId`
+- `ThreadId`
+- `Callstack`
-**None** is the default.
+`None` is the default.
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in
-quotation marks, such as "ProcessID,ThreadID".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **ListenerOption**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
```yaml Type: System.Diagnostics.TraceOptions
Accept wildcard characters: False
Determines the type of events that are traced. The acceptable values for this parameter are: -- None-- Constructor-- Dispose-- Finalizer-- Method-- Property-- Delegates-- Events-- Exception-- Lock-- Error-- Errors-- Warning-- Verbose-- WriteLine-- Data-- Scope-- ExecutionFlow-- Assert-- All-
-All is the default.
+- `None`
+- `Constructor`
+- `Dispose`
+- `Finalizer`
+- `Method`
+- `Property`
+- `Delegates`
+- `Events`
+- `Exception`
+- `Lock`
+- `Error`
+- `Errors`
+- `Warning`
+- `Verbose`
+- `WriteLine`
+- `Data`
+- `Scope`
+- `ExecutionFlow`
+- `Assert`
+- `All`
+
+`All` is the default.
The following values are combinations of other values: -- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events, and Scope)-- Data: (Constructor, Dispose, Finalizer, Property, Verbose, and WriteLine)-- Errors: (Error and Exception).
+- `ExecutionFlow`: `Constructor`, `Dispose`, `Finalizer`, `Method`, `Delegates`, `Events`, `Scope`
+- `Data`: `Constructor`, `Dispose`, `Finalizer`, `Property`, `Verbose`, `WriteLine`
+- `Errors`: `Error`, `Exception`
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in
-quotation marks, such as "Constructor,Dispose".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.PSTraceSourceOptions
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.Management.Automation.PSObject You can pipe objects that represent input to the expression to `Trace-Command`.
-## OUTPUTS
+## Outputs
### System.Management.Automation.PSObject Returns the command trace in the debug stream.
-## NOTES
+## Notes
- Tracing is a method that developers use to debug and refine programs. When tracing, the program generates detailed messages about each step in its internal processing.
Returns the command trace in the debug stream.
**Expression**, **Option** or **Name**, **Command**, **Option**. If you include the parameter names, the parameters can appear in any order.
-## RELATED LINKS
+## Related Links
[Get-TraceSource](Get-TraceSource.md)
Microsoft.PowerShell.Utility Set Tracesource (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Utility/Set-TraceSource.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 06/09/2017 Last updated : 04/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/set-tracesource?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Set-TraceSource --- # Set-TraceSource
-## SYNOPSIS
+## Synopsis
Configures, starts, and stops a trace of PowerShell components.
-## SYNTAX
+## Syntax
### optionsSet (Default)
Set-TraceSource [-Name] <String[]> [-RemoveListener <String[]>] [<CommonParamete
Set-TraceSource [-Name] <String[]> [-RemoveFileListener <String[]>] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
-The **Set-TraceSource** cmdlet configures, starts, and stops a trace of a PowerShell component.
-You can use it to specify which components will be traced and where the tracing output is sent.
+The `Set-TraceSource` cmdlet configures, starts, and stops a trace of a PowerShell component. You
+can use it to specify which components will be traced and where the tracing output is sent.
-## EXAMPLES
+## Examples
### Example 1: Trace the ParameterBinding component ```
-PS C:\> Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"
+Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"
```
-This command starts tracing for the ParameterBinding component of PowerShell.
-It uses the *Name* parameter to specify the trace source, the *Option* parameter to select the ExecutionFlow trace events, and the *PSHost* parameter to select the PowerShell host listener, which sends the output to the console.
-The *ListenerOption* parameter adds the ProcessID and TimeStamp values to the trace message prefix.
+This command starts tracing for the ParameterBinding component of PowerShell. It uses the **Name**
+parameter to specify the trace source, the **Option** parameter to select the `ExecutionFlow` trace
+events, and the **PSHost** parameter to select the PowerShell host listener, which sends the output
+to the console. The **ListenerOption** parameter adds the `ProcessID` and `TimeStamp` values to the
+trace message prefix.
### Example 2: Stop a trace ```
-PS C:\> Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"
+Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"
```
-This command stops the trace of the ParameterBinding component of PowerShell.
-It uses the *Name* parameter to identify the component that was being traced and the *RemoveListener* parameter to identify the trace listener.
+This command stops the trace of the **ParameterBinding** component of PowerShell. It uses the
+**Name** parameter to identify the component that was being traced and the **RemoveListener**
+parameter to identify the trace listener.
-## PARAMETERS
+## Parameters
### -Debugger
-Indicates that the cmdlet sends the trace output to the debugger.
-You can view the output in any user-mode or kernel mode debugger or in Microsoft Visual Studio.
-This parameter also selects the default trace listener.
+Indicates that the cmdlet sends the trace output to the debugger. You can view the output in any
+user-mode or kernel mode debugger or in Microsoft Visual Studio. This parameter also selects the
+default trace listener.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -FilePath
-Specifies a file that this cmdlet sends the trace output to.
-This parameter also selects the file trace listener.
-If you use this parameter to start the trace, use the *RemoveFileListener* parameter to stop the trace.
+Specifies a file that this cmdlet sends the trace output to. This parameter also selects the file
+trace listener. If you use this parameter to start the trace, use the **RemoveFileListener**
+parameter to stop the trace.
```yaml Type: System.String
Accept wildcard characters: False
### -Force
-Indicates that the cmdlet overwrites a read-only file.
-Use with the *FilePath* parameter.
+Indicates that the cmdlet overwrites a read-only file. Use with the **FilePath** parameter.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -ListenerOption
-Specifies optional data to the prefix of each trace message in the output.
-The acceptable values for this parameter are:
+Specifies optional data to the prefix of each trace message in the output. The acceptable values for
+this parameter are:
-- None-- LogicalOperationStack-- DateTime-- Timestamp-- ProcessId-- ThreadId-- Callstack
+- `None`
+- `LogicalOperationStack`
+- `DateTime`
+- `Timestamp`
+- `ProcessId`
+- `ThreadId`
+- `Callstack`
-None is the default.
+`None` is the default.
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in quotation marks, such as "ProcessID,ThreadID".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **ListenerOption**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
```yaml Type: System.Diagnostics.TraceOptions
Accept wildcard characters: False
### -Name
-Specifies which components are traced.
-Enter the name of the trace source of each component.
+Specifies which components are traced. Enter the name of the trace source of each component.
Wildcards are permitted. ```yaml
Accept wildcard characters: True
### -Option
-Specifies the type of events that are traced.
-The acceptable values for this parameter are:
--- None-- Constructor-- Dispose-- Finalizer-- Method-- Property-- Delegates-- Events-- Exception-- Lock-- Error-- Errors-- Warning-- Verbose-- WriteLine-- Data-- Scope-- ExecutionFlow-- Assert-- All-
-All is the default.
+Specifies the type of events that are traced. The acceptable values for this parameter are:
+
+- `None`
+- `Constructor`
+- `Dispose`
+- `Finalizer`
+- `Method`
+- `Property`
+- `Delegates`
+- `Events`
+- `Exception`
+- `Lock`
+- `Error`
+- `Errors`
+- `Warning`
+- `Verbose`
+- `WriteLine`
+- `Data`
+- `Scope`
+- `ExecutionFlow`
+- `Assert`
+- `All`
+
+`All` is the default.
The following values are combinations of other values: -- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events, and Scope)-- Data: (Constructor, Dispose, Finalizer, Property, Verbose, and WriteLine)-- Errors: (Error and Exception).
+- `ExecutionFlow`: `Constructor`, `Dispose`, `Finalizer`, `Method`, `Delegates`, `Events`, `Scope`
+- `Data`: `Constructor`, `Dispose`, `Finalizer`, `Property`, `Verbose`, `WriteLine`
+- `Errors`: `Error`, `Exception`
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in quotation marks, such as "Constructor,Dispose".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.PSTraceSourceOptions
Accept wildcard characters: False
### -PassThru
-Returns an object representing the item with which you are working.
-By default, this cmdlet does not generate any output.
+Returns an object representing the item with which you are working. By default, this cmdlet does not
+generate any output.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -PSHost
-ndicates that this cmdlet sends the trace output to the PowerShell host.
-This parameter also selects the PSHost trace listener.
+Indicates that this cmdlet sends the trace output to the PowerShell host. This parameter also
+selects the PSHost trace listener.
```yaml Type: System.Management.Automation.SwitchParameter
Accept wildcard characters: False
### -RemoveFileListener
-Stops the trace by removing the file trace listener associated with the specified file.
-Enter the path and file name of the trace output file.
+Stops the trace by removing the file trace listener associated with the specified file. Enter the
+path and file name of the trace output file.
```yaml Type: System.String[]
Accept wildcard characters: False
Stops the trace by removing the trace listener.
-Use the following values with *RemoveListener*:
+Use the following values with **RemoveListener**:
- To remove PSHost (console), type `Host`. - To remove Debugger, type `Debug`. - To remove all trace listeners, type `*`.
-To remove the file trace listener, use the *RemoveFileListener* parameter.
+To remove the file trace listener, use the **RemoveFileListener** parameter.
```yaml Type: System.String[]
Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.String
-You can pipe a string that contains a name to **Set-TraceSource**.
+You can pipe a string that contains a name to `Set-TraceSource`.
-## OUTPUTS
+## Outputs
### None or System.Management.Automation.PSTraceSource
-When you use the *PassThru* parameter, **Set-TraceSource** generates a **System.Management.Automation.PSTraceSource** object representing the trace session.
-Otherwise, this cmdlet does not generate any output.
+When you use the **PassThru** parameter, `Set-TraceSource` generates a
+**System.Management.Automation.PSTraceSource** object representing the trace session. Otherwise,
+this cmdlet does not generate any output.
-## NOTES
+## Notes
-* Tracing is a method that developers use to debug and refine programs. When tracing, the program generates detailed messages about each step in its internal processing.
+- Tracing is a method that developers use to debug and refine programs. When tracing, the program
+ generates detailed messages about each step in its internal processing.
- The PowerShell tracing cmdlets are designed to help PowerShell developers, but they are available to all users.
-They let you monitor nearly every aspect of the functionality of PowerShell.
+ The PowerShell tracing cmdlets are designed to help PowerShell developers, but they are available
+ to all users. They let you monitor nearly every aspect of the functionality of PowerShell.
- A trace source is the part of each PowerShell component that manages tracing and generates trace messages for the component.
-To trace a component, you identify its trace source.
+ A trace source is the part of each PowerShell component that manages tracing and generates trace
+ messages for the component. To trace a component, you identify its trace source.
- A trace listener receives the output of the trace and displays it to the user.
-You can elect to send the trace data to a user-mode or kernel-mode debugger, to the console, to a file, or to a custom listener derived from the **System.Diagnostics.TraceListener** class.
+ A trace listener receives the output of the trace and displays it to the user. You can elect to
+ send the trace data to a user-mode or kernel-mode debugger, to the console, to a file, or to a
+ custom listener derived from the **System.Diagnostics.TraceListener** class.
-* To start a trace, use the *Name* parameter to specify a trace source and the *FilePath*, *Debugger*, or *PSHost* parameters to specify a listener (a destination for the output). Use the *Options* parameter to determine the types of events that are traced and the *ListenerOption* parameter to configure the trace output.
-* To change the configuration of a trace, enter a **Set-TraceSource** command as you would to start a trace. PowerShell recognizes that the trace source is already being traced. It stops the trace, adds the new configuration, and starts or restarts the trace.
-* To stop a trace, use the *RemoveListener* parameter. To stop a trace that uses the file listener (a trace started by using the *FilePath* parameter), use the *RemoveFileListener* parameter. When you remove the listener, the trace stops.
-* To determine which components can be traced, use Get-TraceSource. The trace sources for each module are loaded automatically when the component is in use, and they appear in the output of **Get-TraceSource**.
+- To start a trace, use the **Name** parameter to specify a trace source and the **FilePath**,
+ **Debugger**, or **PSHost** parameters to specify a listener (a destination for the output). Use
+ the **Options** parameter to determine the types of events that are traced and the
+ **ListenerOption** parameter to configure the trace output.
+- To change the configuration of a trace, enter a `Set-TraceSource` command as you would to start a
+ trace. PowerShell recognizes that the trace source is already being traced. It stops the trace,
+ adds the new configuration, and starts or restarts the trace.
+- To stop a trace, use the **RemoveListener** parameter. To stop a trace that uses the file listener
+ (a trace started by using the **FilePath** parameter), use the **RemoveFileListener** parameter.
+ When you remove the listener, the trace stops.
+- To determine which components can be traced, use Get-TraceSource. The trace sources for each
+ module are loaded automatically when the component is in use, and they appear in the output of
+ `Get-TraceSource`.
-## RELATED LINKS
+## Related Links
[Get-TraceSource](Get-TraceSource.md)
Microsoft.PowerShell.Utility Trace Command (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Utility/Trace-Command.md
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Utility Previously updated : 04/09/2020 Last updated : 04/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/trace-command?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 Title: Trace-Command
Title: Trace-Command
# Trace-Command
-## SYNOPSIS
+## Synopsis
Configures and starts a trace of the specified expression or command.
-## SYNTAX
+## Syntax
### expressionSet (Default)
Trace-Command [-InputObject <PSObject>] [-Name] <String[]> [[-Option] <PSTraceSo
[-Debugger] [-PSHost] [<CommonParameters>] ```
-## DESCRIPTION
+## Description
+ The `Trace-Command` cmdlet configures and starts a trace of the specified expression or command. It works like Set-TraceSource, except that it applies only to the specified command.
-## EXAMPLES
+## Examples
### Example 1: Trace metadata processing, parameter binding, and an expression
specify any tracing options or listener options, the command uses the defaults:
### Example 2: Trace the actions of ParameterBinding operations
-This example traces the actions of the **ParameterBinding** operations of PowerShell while it processes
-a `Get-Alias` expression that takes input from the pipeline.
+This example traces the actions of the **ParameterBinding** operations of PowerShell while it
+processes a `Get-Alias` expression that takes input from the pipeline.
```powershell $A = "i*"
the **InputObject** parameter. The **InputObject** parameter passes the variable
expression. In effect, the command being processed during the trace is `Get-Alias -InputObject $A" or "$A | Get-Alias`.
-## PARAMETERS
+## Parameters
### -ArgumentList
Accept wildcard characters: False
Specifies optional data to the prefix of each trace message in the output. The acceptable values for this parameter are: -- None-- LogicalOperationStack-- DateTime-- Timestamp-- ProcessId-- ThreadId-- Callstack
+- `None`
+- `LogicalOperationStack`
+- `DateTime`
+- `Timestamp`
+- `ProcessId`
+- `ThreadId`
+- `Callstack`
-**None** is the default.
+`None` is the default.
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in
-quotation marks, such as "ProcessID,ThreadID".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **ListenerOption**
+parameter as an array of values or as a comma-separated string of those values. The cmdlet will
+combine the values using a binary-OR operation. Passing values as an array is the simplest option
+and also allows you to use tab-completion on the values.
```yaml Type: System.Diagnostics.TraceOptions
Accept wildcard characters: False
Determines the type of events that are traced. The acceptable values for this parameter are: -- None-- Constructor-- Dispose-- Finalizer-- Method-- Property-- Delegates-- Events-- Exception-- Lock-- Error-- Errors-- Warning-- Verbose-- WriteLine-- Data-- Scope-- ExecutionFlow-- Assert-- All-
-All is the default.
+- `None`
+- `Constructor`
+- `Dispose`
+- `Finalizer`
+- `Method`
+- `Property`
+- `Delegates`
+- `Events`
+- `Exception`
+- `Lock`
+- `Error`
+- `Errors`
+- `Warning`
+- `Verbose`
+- `WriteLine`
+- `Data`
+- `Scope`
+- `ExecutionFlow`
+- `Assert`
+- `All`
+
+`All` is the default.
The following values are combinations of other values: -- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events, and Scope)-- Data: (Constructor, Dispose, Finalizer, Property, Verbose, and WriteLine)-- Errors: (Error and Exception).
+- `ExecutionFlow`: `Constructor`, `Dispose`, `Finalizer`, `Method`, `Delegates`, `Events`, `Scope`
+- `Data`: `Constructor`, `Dispose`, `Finalizer`, `Property`, `Verbose`, `WriteLine`
+- `Errors`: `Error`, `Exception`
-To specify multiple options, separate them with commas, but with no spaces, and enclose them in
-quotation marks, such as "Constructor,Dispose".
+These values are defined as a flag-based enumeration. You can combine multiple values together to
+set multiple flags using this parameter. The values can be passed to the **Option** parameter as an
+array of values or as a comma-separated string of those values. The cmdlet will combine the values
+using a binary-OR operation. Passing values as an array is the simplest option and also allows you
+to use tab-completion on the values.
```yaml Type: System.Management.Automation.PSTraceSourceOptions
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
-WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
-## INPUTS
+## Inputs
### System.Management.Automation.PSObject You can pipe objects that represent input to the expression to `Trace-Command`.
-## OUTPUTS
+## Outputs
### System.Management.Automation.PSObject Returns the command trace in the debug stream.
-## NOTES
+## Notes
- Tracing is a method that developers use to debug and refine programs. When tracing, the program generates detailed messages about each step in its internal processing.
Returns the command trace in the debug stream.
**Expression**, **Option** or **Name**, **Command**, **Option**. If you include the parameter names, the parameters can appear in any order.
-## RELATED LINKS
+## Related Links
[Get-TraceSource](Get-TraceSource.md)
community 2021 Updates https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/docs-conceptual/community/2021-updates.md
--- Title: What's New in PowerShell Docs for 2021 description: List of changes to the PowerShell documentation for 2021 Previously updated : 03/02/2021 Last updated : 04/01/2021 --- # What's new in PowerShell Docs for 2021
contributions from the community.
Help us make the documentation better for you. Read the [Contributor's Guide][contrib] to learn how to get started.
+## 2021-March
+
+New content
+
+- Working on simplify and expanding the [Overview](/powershell/scripting/overview) content
+ - Added [What is a PowerShell command?](/powershell/scripting/powershell-commands)
+- Started a new tutorial series - [PowerShell Bits](/powershell/scripting/learn/tutorials/00-introduction)
+ - [Discover PowerShell](/powershell/scripting/learn/tutorials/01-discover-powershell)
+- Help content for PowerShell [utility modules](/powershell/utility-modules/overview)
+ - Microsoft.PowerShell.Crescendo
+ - Microsoft.PowerShell.SecretManagement
+ - Microsoft.PowerShell.SecretStore
+ - PlatyPS
+ - PSScriptAnalyzer
+- Working with the Windows team to update help for [Windows management modules](/powershell/windows/get-started)
+ - Added content for Windows Server 2019 and Windows Server 2022 (preview)
+ - Continuing to work on improving updateable help for these modules
+- PowerShell 7.2-preview documentation updates
+
+### Top Community Contributors
+
+GitHub stats
+
+- 42 PRs merged (5 from Community)
+- 63 issues opened (42 from Community)
+- 47 issues closed
+
+The following people have contributed to PowerShell docs by submitting pull requests or filing
+issues. Thank you!
+
+| GitHub Id | PRs merged | Issues opened |
+| ---------- | :--------: | :-----------: |
+| bl-ue | 1 | |
+| brianary | 1 | |
+| Lx | 1 | |
+| matt9ucci | 1 | |
+| kfasick | 1 | |
+| mklement0 | | 10 |
+| juvtib | | 6 |
+| BoJackem23 | | 2 |
+ ## 2021-February
+New content
- PowerShell 7.2-preview documentation updates-- GitHub stats
- - 40 PRs merged (12 from Community)
- - 40 issues opened (30 from Community)
- - 35 issues closed
### Top Community Contributors
+GitHub stats
+
+- 40 PRs merged (12 from Community)
+- 40 issues opened (30 from Community)
+- 35 issues closed
+ The following people have contributed to PowerShell docs by submitting pull requests or filing issues. Thank you!
issues. Thank you!
## 2021-January
+New content
+ - PowerShell 7.2-preview documentation updates-- GitHub stats
- - 44 PRs merged (14 from Community)
- - 46 issues opened (38 from Community)
- - 35 issues closed
### Top Community Contributors
+GitHub stats
+
+- 44 PRs merged (14 from Community)
+- 46 issues opened (38 from Community)
+- 35 issues closed
+ The following people have contributed to PowerShell docs by submitting pull requests or filing issues. Thank you!
community Hall Of Fame https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/docs-conceptual/community/hall-of-fame.md
--- Title: Community contributor Hall of Fame description: List of the GitHub users that have the most contributions to the PowerShell-Doc project. Previously updated : 03/02/2021 Last updated : 04/01/2021 --- # Community Contributor Hall of Fame
Pull Requests help us fix those issues and make the documentation better for eve
| Docs PRs Merged | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | Grand Total | | --------------- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ----------: |
-| Community | 3 | 194 | 446 | 467 | 321 | 162 | 26 | 1619 |
-| matt9ucci | | | 157 | 80 | 30 | 1 | 1 | 269 |
+| Community | 3 | 194 | 446 | 467 | 321 | 162 | 31 | 1624 |
+| matt9ucci | | | 157 | 80 | 30 | 1 | 2 | 270 |
| nschonni | | | | 14 | 138 | 10 | | 162 | | kiazhi | | 25 | 78 | 12 | | | | 115 | | alexandair | | 57 | 7 | 26 | 2 | 1 | | 93 |
Pull Requests help us fix those issues and make the documentation better for eve
| vors | | 15 | 1 | | | | | 16 | | markekraus | | | 11 | 5 | | | | 16 | | kvprasoon | | 2 | 1 | 7 | 2 | 2 | | 14 |
-| skycommand | | | 1 | 3 | 3 | 6 | | 13 |
| purdo17 | | | | 13 | | | | 13 |
+| skycommand | | | 1 | 3 | 3 | 6 | | 13 |
| k-takai | | | | 5 | 1 | 7 | | 13 |
-| exchange12rocks | | | 7 | 3 | | | 1 | 11 |
| PlagueHO | | 10 | | | 1 | | | 11 |
+| exchange12rocks | | | 7 | 3 | | | 1 | 11 |
## GitHub issues opened
GitHub issues help us identify errors and gaps in our documentation.
| Docs Issues Opened | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | Grand Total | | ------------------ | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ----------: |
-| Community | 3 | 54 | 95 | 213 | 575 | 584 | 70 | 1594 |
-| mklement0 | | | 19 | 60 | 56 | 61 | 2 | 198 |
+| Community | 3 | 54 | 95 | 213 | 575 | 584 | 110 | 1634 |
+| mklement0 | | | 19 | 60 | 56 | 61 | 12 | 208 |
| jszabo98 | | | | 2 | 15 | 6 | | 23 | | iSazonov | | | 1 | 4 | 10 | 8 | | 23 |
+| juvtib | | | | | | 15 | 6 | 21 |
| doctordns | | | 5 | 3 | 5 | 7 | | 20 | | KirkMunro | | | | 7 | 7 | 1 | | 15 |
-| juvtib | | | | | | 15 | | 15 |
| alexandair | | 9 | 4 | 2 | | | | 15 | | vexx32 | | | | 3 | 11 | | | 14 | | JustinGrote | | | | 1 | 3 | 6 | | 10 |