Scripts (PowerShell)

How to get a list of installed applications using PowerShell in Windows 10

PowerShell is a task-based command-line shell and scripting language built on .NET. By using PowerShell, system administrators can automate tasks and processes using the command line. Powershell script will be very useful for listing the installed applications. In this article, I will be demonstrating how to use Powershell script samples such as "Get-WmiObject -Class Win32_Product" to get installed products in Local and Remote Machine. Kindly visit the following hyperlinks for more information. How to uninstall builtin apps using PowerShell in Windows 10, how to uninstall a program via Command Prompt (CMD) in Windows.

See this guide on how to check if Windows Updates were Installed on your Computer using was, program and features, DISM and wmic, etc, and how to find the AUMID of an installed UWP App.

Part A: List Installed Software using PowerShell on your PC:

You can list the installed software programs using Powershell’s WMI Class Win32_Product. Also see how to remove Windows 10 Apps with DISM: How to remove pre-provisioned apps from Windows Image and how to determine Apps UWP and remove pre-provisioned appx in Windows 10.

Here, FT is nothing but the Format-Table cmdlet, you can change it into FL to display the result in the list view. We will be using the command “Get-WMIObject -Class Win32_Product” to find installed programs.

Get-WMIObject -Query "SELECT * FROM Win32_Product" | FT

2: List Installed Software using Powershell on Remote Computer

You can list the installed software programs from Remote Machine by giving the name of the remote computer through argument syntax -ComputerName.

Get-WMIObject -ComputerName "your-pc" -Query "SELECT * FROM Win32_Product" | FL

3: Get a List of Installed Programs using Powershell with Filter

You can use SQL Query-like syntax in the Win32_Product class. The following Powershell script, filter and list only Non-Microsoft software.

Get-WMIObject -Query "SELECT * FROM Win32_Product Where Not Vendor Like '%Microsoft%'" |FT

4: Filter, and list only Microsoft-based software

Use the following PowerShell script, filter, and list only Microsoft-based software.

Get-WMIObject -Query "SELECT * FROM Win32_Product Where Vendor Like '%Microsoft%'" | FT

I hope you found this blog post helpful. If you have any questions, please let me know in the comment session.

Notify of

Inline Feedbacks
View all comments
Shadetree Sam
Shadetree Sam
5 months ago

Thanks for the clear, nicely written directions. I’m running Windows 10 Pro 64-bit v21H2, PowerShell v5.1, and for some reason I’m not getting a full list of installed apps and programs. (I’m using the Start Menu in “C:\ProgramData\Microsoft\Windows\Start Menu\Programs” as a reference.)

Any idea why this might be?


1 month ago
Reply to  Shadetree Sam

It has been reported sadly that the Get-WmiObject command is depreciated and is no longer able to function. You may have to test with the Get-Cim… type commands.

Would love your thoughts, please comment.x