PowerShell to Get Installed Software: A Quick Guide

Discover how to use PowerShell to get installed software effortlessly. Unlock the secrets of your system with concise commands and tips.
PowerShell to Get Installed Software: A Quick Guide

To retrieve a list of installed software on a Windows machine using PowerShell, you can use the following command:

Get-WmiObject -Class Win32_Product | Select-Object -Property Name, Version

Understanding PowerShell Commands

What is PowerShell?

PowerShell is a task automation and configuration management framework developed by Microsoft. It combines a command-line shell with an associated scripting language, which makes it an incredibly powerful tool for IT professionals and system administrators. Unlike traditional command-line interfaces, PowerShell enables users to work with objects rather than text, allowing for more complex and nuanced scripting capabilities that can greatly enhance productivity in a Windows environment.

PowerShell vs. Traditional Methods

When it comes to managing installed software, many users may instinctively turn to graphical user interfaces (GUIs). While GUIs can be user-friendly, they often become cumbersome when dealing with a large number of applications or for automating tasks. In contrast, PowerShell provides several advantages:

  • Speed: Quickly executing commands saves time, especially in bulk operations.
  • Automation: Scripts can automate repetitive tasks, reducing the risk of human error.
  • Flexibility: Easy to filter or manipulate data with robust command options.

By utilizing PowerShell, you can efficiently manage and query installed software in a way that's both effective and user-friendly.

PowerShell Get Installed Apps: Quick Command Guide
PowerShell Get Installed Apps: Quick Command Guide

Getting Started with Installed Software Queries in PowerShell

How to Open PowerShell

Before diving into commands, it's essential to know how to access PowerShell:

  • Windows 10 and 11: Right-click the Start button and select "Windows PowerShell" or "Windows Terminal."
  • Windows 8 and Earlier: Press Windows + X and select "Windows PowerShell."

It's often beneficial to run PowerShell in administrator mode, which gives you the required permissions to query system-level information. Right-click on the icon and select "Run as administrator."

PowerShell Remotely Uninstall Software Made Easy
PowerShell Remotely Uninstall Software Made Easy

Using PowerShell to Get Installed Software

Basic Command to List Installed Software

One of the simplest methods to list installed software is through the Get-WmiObject cmdlet. This cmdlet retrieves instances of Windows Management Instrumentation (WMI) classes, specifically the Win32_Product class, which represents applications installed using Windows Installer.

Execute the following command to see a basic list of installed software:

Get-WmiObject -Class Win32_Product

This command will display a comprehensive list of installed applications, including details such as the name and version of each software.

Filtering Installed Software Results

Using Where-Object to Filter Software

Sometimes, you may want to find specific software from the list. By using the Where-Object cmdlet, you can filter results based on various properties. For instance, if you're looking for Adobe products, you'll use:

Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like "*Adobe*" }

In this example, Where-Object filters the output so you only see applications that contain "Adobe" in their name. This method can be customized according to your needs, making it easy to find specific installed software.

Displaying Installed Software in a User-Friendly Format

Formatting Output with Format-Table

A long list of software can be overwhelming. To improve readability, you can format the output using the Format-Table cmdlet. Here’s how you can display just the name and version:

Get-WmiObject -Class Win32_Product | Format-Table Name, Version

This command outputs the name and version of each installed program in a neatly organized table, making it easier to identify installed software at a glance.

PowerShell Script to Install Software Made Easy
PowerShell Script to Install Software Made Easy

Advanced Techniques to Find Installed Software

Using Get-Package for More Options

The Get-Package cmdlet provides an alternative method to list installed software, showcasing supported package providers. This can include applications installed via Windows Installer, Store apps, or other package management systems. To execute this, simply run:

Get-Package

This command delivers a broader view of installed software, including non-WMI managed applications, ensuring no critical software is overlooked in your assessments.

Querying the Registry for Installed Software

Accessing the Registry with PowerShell

The Windows Registry is another essential resource for identifying installed applications. To retrieve a list of installed software from the registry, you can use the Get-ItemProperty cmdlet. Here’s a sample command to get you started:

Get-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*" | Select-Object DisplayName, DisplayVersion

This command queries the Uninstall registry key for details on installed applications, including their display names and versions. It's critical for retrieving applications not registered via Windows Installer.

Exporting Installed Software List to a CSV File

If you need to document your findings or share them with others, you can export the list of installed software to a CSV file for easy access and analysis. Utilize the Export-Csv cmdlet like this:

Get-WmiObject -Class Win32_Product | Select-Object Name, Version | Export-Csv -Path "InstalledSoftware.csv" -NoTypeInformation

This command gathers the installed software’s names and versions, then creates a CSV file named InstalledSoftware.csv in the current directory. The -NoTypeInformation parameter omits unnecessary type information from the output, keeping the file clean and straightforward.

PowerShell 7 Installation: A Quick Start Guide
PowerShell 7 Installation: A Quick Start Guide

Conclusion

Mastering the ability to use PowerShell to get installed software is essential for effective system administration. It helps you quickly gather critical information, automate processes, and manage installed applications efficiently. The commands and techniques discussed in this article offer a solid foundation for working with installed software in PowerShell, empowering you to become more adept at managing your Windows environment.

Additional Resources

For those looking to expand their knowledge further, consider exploring official Microsoft documentation, online courses, or community forums dedicated to PowerShell. The PowerShell community is incredibly active and can provide additional insights and support as you continue your learning journey.

FAQs about PowerShell and Installed Software

As you delve deeper into PowerShell, you might encounter common questions about specific commands or parameters. Always feel free to ask within the community or consult documentation for a more comprehensive understanding of usage scenarios.

Related posts

featured
Aug 5, 2024

PowerShell Silent Install EXE: A Quick Guide

featured
Jul 16, 2024

PowerShell Get Disabled Users: A Simple Guide

featured
Jan 29, 2024

PowerShell Test-NetConnection: A Quick Guide to Connectivity

featured
Feb 6, 2024

Mastering PowerShell Get-Credential: A Quick Guide

featured
Jul 29, 2024

PowerShell to Install Windows Updates: A Quick Guide

featured
Jul 9, 2024

Mastering Powershell Concatenate String With Ease

featured
Jul 23, 2024

PowerShell: Mastering Digitally Signed Scripts

featured
Mar 22, 2024

Mastering PowerShell TrimStart for String Management