PowerShell.dumPS
A PowerShell module to dump an object's properties, fields, and non-public members to the console in a structured and colourful way
Install / Use
/learn @deadlydog/PowerShell.dumPSREADME
dumPS PowerShell Module
💬 Description
A PowerShell module that allows you to dump all of an object's properties, including nested objects, to the console in a nice, colourful, structured, and easy-to-read format. This enhances productivity in exploratory and debugging workflows in the terminal.
Currently dumPS only supports PowerShell v7.3+, but support for PowerShell v5 is planned for the near future.
If you enjoy this module, consider giving it a GitHub star ⭐ to show your support.
❓ Why this exists
When debugging PowerShell in Visual Studio Code you can use the Variables and Watch windows to drill into objects and see all of their property values.
When experimenting in the terminal however, it is very difficult to see all nested properties of an object.
You can pipe objects to Select-Object * to see all top-level property values, but this does not show nested objects' properties.
dumPS allows you to easily view all of an object's nested properties in the console in a nice, structured format.
✨ Features
List the features of this project:
- Easily view all properties and values of an object in the terminal, including nested objects.
PassThruparameter to still return the object being displayed.
Example
The following code produces the output screenshot below:
$dan = @{
Name = 'Daniel Schroeder'
Alias = 'deadlydog'
Address = @{
Province = 'Saskatchewan'
Country = 'Canada'
}
Likes = @('Programming', 'PowerShell', '.NET', 'Dogs')
}
$dan | Out-Dump

🚀 Quick start
Installation
Install the module from the PowerShell Gallery:
Install-Module -Name dumPS -Scope CurrentUser
Usage
Display all properties of an object using full cmdlet name:
$process = Get-Process | Select-Object -First 1
Out-Dump -InputObject $process
Pipe an object to display all properties:
$process = Get-Process | Select-Object -First 1
$process | Out-Dump
Display the object as part of a pipeline:
Get-Process | Select-Object -First 1 | Out-Dump
Use the PassThru parameter to display the object while still returning it to the pipeline:
$process = Get-Process | Select-Object -First 1 | Out-Dump -PassThru
Use the dumps alias in place of Out-Dump:
Get-Process | Select-Object -First 1 | dumps
Aside: The alias is
dumpsinstead ofdumpto avoid conflicting with the unixdumpcommand.
➕ How to contribute
Issues and Pull Requests are welcome. See the Contributing page for more details.
📃 Changelog
See what's changed in the application over time by viewing the changelog.
💳 Donate to support this project
Buy me a toque for providing this PowerShell module open source and for free 🙂
❤ Credit
This module utilizes Dumpify. The Dumpify library is doing all of the heavy lifting and I thank them for making this PowerShell module possible.

