Skip to the main content.

Unlocking the Power of PowerShell: Tips for Success

Filter out the noise: Keep your PowerShell properties clean!

Tip


Tired of wading through empty properties in PowerShell objects? Learn how to filter out unnecessary blanks automatically! With PowerShell's PSObject extension, you can create a custom function to display only populated properties – keeping your results clean and relevant. Perfect for streamlining data views without manual tweaks!

 

Tobias & Aleksandar's tip:

Filter empty properties

Occasionally, you receive objects with a lot of empty properties that you are not really interested in. You could use Select‑Object to manually select properties, but if the empty properties change, an automated solution would be helpful.

Fortunately, PowerShell adds a secret PSObject extension to each object that reveals the entire object structure, including properties and their values. This way, a simple filter function would look like this:


filter Filter-EmptyProperty
{
   $hashtable = [Ordered]@{}
   foreach ($property in $_.PSObject.Properties)
   {
      if ($property.Value)
      {
         $hashtable[$property.Name]=$property.Value
      }
   }
   [PSCustomObject]$hashtable


In essence, for each object, all of its properties are checked for a value, and only if a value is found, then the property is added to an ordered hash table. Once all desired properties have been collected, the ordered hash table is turned to an object and emitted.

Try these commands (or any other source command that returns empty properties):


# includes empty properties
Get-ComputerInfo -Property *

# shows only populated properties
Get-ComputerInfo -Property * | Filter-EmptyProperty 

 

 

Good2know

Your ultimate PowerShell Cheat Sheet

Unleash the full potential of PowerShell with our handy poster. Whether you're a beginner or a seasoned pro, this cheat sheet is designed to be your go-to resource for the most important and commonly used cmdlets.

The poster is available for download and in paper form.

PowerShell Poster 2023

Get your poster here!

 

 

Related links 

 

Related posts

2 min read

Boost PowerShell efficiency: How to use enums for cleaner code

Tired of cryptic number codes cluttering your PowerShell scripts? Discover how PowerShell enums can transform your code...

4 min read

Separate config from code: Clean up PowerShell scripts with hash tables

Say goodbye to hardcoding paths and settings! Learn how to simplify your PowerShell scripts by storing config data...

5 min read

From Basics to Binary: Supercharge your PowerShell enums

Ready to level up your PowerShell enum game? Discover how [Flags()] transforms simple enums into powerful binary...

About the author: