How Can I See What I Passed To Powershell

How To Articles

Have you ever found yourself in a situation where you wanted to see exactly what you passed to PowerShell? I know I have, and it can be quite frustrating when you’re troubleshooting a script or just trying to understand how your input is being processed. In this article, I’ll dive deep into various techniques and methods to help you see what you passed to PowerShell, so you can gain clarity and control over your scripts.

Using Write-Host and Variable Printing

One of the simplest ways to see what you passed to PowerShell is by using the Write-Host cmdlet. This allows you to output text directly to the console. You can use it to display the values of variables, parameters, or any other data within your script. For example:

Write-Host $myVariable

Another effective method is to print the variable directly by typing its name, without using a cmdlet. This is a quick and handy way to see the contents of a variable at any point in your script.

Using Start-Transcript

If you want to capture the entire console session, including all input and output, you can use the Start-Transcript cmdlet. This will create a transcript of everything that occurs in the console and save it to a text file. It’s a great way to review the entire session and understand what was passed to PowerShell.

Using Set-PSDebug

The Set-PSDebug cmdlet allows you to set the debugging options for PowerShell. By setting the -Trace parameter, you can trace the script execution and see the exact input and output at each step. This is incredibly useful for understanding the flow of your script and pinpointing any issues.

Using Write-Output and Write-Verbose

Another technique is to use the Write-Output and Write-Verbose cmdlets. These allow you to display output and messages at different verbosity levels. You can use them to print the input data, along with any additional context or comments, which can be invaluable for understanding the processing of your input.


Understanding and seeing what you passed to PowerShell is crucial for effective scripting and troubleshooting. By using a combination of techniques such as Write-Host, variable printing, Start-Transcript, Set-PSDebug, Write-Output, and Write-Verbose, you can gain full visibility into your script’s input and output. This level of clarity not only helps with debugging but also enhances your overall understanding of PowerShell scripting.