Skip to content

TechDirectArchive

Hands-on IT, Cloud, Security, Veeam & DevOps

  • Home
  • About
  • Advertise With US
  • Reviews
  • Contact
  • Toggle search form

Get a list of installed applications on Windows

Posted on 22/12/202030/08/2026 Christian By Christian 8 Comments on Get a list of installed applications on Windows
  1. Home
  2. Scripts
  3. Get a list of installed applications on Windows
A minimalist logo featuring a blue background with a white command line symbol, depicting a greater than sign followed by an underscore.

Kindly visit the following hyperlinks for more information. How to uninstall built-in apps using PowerShell in Windows 10, how to uninstall a program via Command Prompt (CMD) in Windows. In this article, you will learn how to get a list of installed applications on Windows. PowerShell is a task-based command-line shell and scripting language built on .NET. Kindly visit the following hyperlinks for more information. How to uninstall built-in apps using PowerShell in Windows 10, how to uninstall a program via Command Prompt (CMD) in Windows.

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. We will use Powershell script samples such as “Get-WmiObject -Class Win32_Product” to get installed products in Local and Remote machines.

We have created a new article for this topic “How to get the list of installed programs locally and on a remote computer 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.

Get-WmiObject vs Get-CimInstance to get list of Installed Applications

Note: Starting in PowerShell 3.0, the Get-WmiObject cmdlet has been superseded by Get-CimInstance. The Get-WmiObject cmdlet gets instances of WMI classes or information about the available WMI classes.

The CimCmdlets modules contain cmdlets that interact with Common Information Model (CIM) Servers like the Windows Management Instrumentation (WMI) service.

If you run into errors while running the CimInstance Cmdlets, please see “WinRM cannot complete the operation, verify that the specified computer name is valid, that the computer is accessible over the network, and that a firewall exception for the WinRM service is enabled“

Part A

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.

List Installed Software using PowerShell on your PC

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
Screenshot of Windows PowerShell displaying a list of installed software and components on a computer, including Python, Microsoft Access, and .NET Framework.

2: List Installed Applications using Powershell on Remote Computer

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

Get-WMIObject -ComputerName "your-pc" -Query "SELECT * FROM Win32_Product" | FL
A Windows PowerShell window displaying a query output for installed Python 3.7 versions and related components on a computer.

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, filters and lists only Non-Microsoft software.

Get-WMIObject -Query "SELECT * FROM Win32_Product Where Not Vendor Like '%Microsoft%'" |FT
Screenshot of Windows PowerShell displaying a list of installed software and their vendors. The command used is 'Get-WmiObject -Query SELECT * FROM Win32_Product WHERE Not Vendor Like '%Microsoft%'', showing various applications including Python and VMware.

Please see Get lists of installed Microsoft Windows Updates, Windows Management Instrumentation: WMI Commands. Also, see How to fix Get-CimInstance Access PermissionDenied.

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
PowerShell window displaying a list of Microsoft software products installed on the system, including their identifying numbers and names.

I hope you found this blog post helpful. In this guide, you have learned how to get a list of installed applications on Windows via PowerShell. If you have any questions, please let me know in the comment session.

Thank you for reading this post. Kindly share it with others.

  • Share on X (Opens in new window) X
  • Share on Reddit (Opens in new window) Reddit
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Share on Facebook (Opens in new window) Facebook
  • Share on Pinterest (Opens in new window) Pinterest
  • Share on Tumblr (Opens in new window) Tumblr
  • Share on Telegram (Opens in new window) Telegram
  • Share on WhatsApp (Opens in new window) WhatsApp
  • Share on Mastodon (Opens in new window) Mastodon
  • Share on Bluesky (Opens in new window) Bluesky
Scripts Tags:PowerShell, PowerShell version 7, PowerShellGet, Windows 10, Windows 11

Post navigation

Previous Post: Unable to uninstall AppX? How to uninstall builtin programs using PowerShell in Windows 10
Next Post: Full Disk Encryption with PBA or without PBA, UEFI, Secure Boot, BIOS, File and Directory Encryption and Container Encryption

Related Posts

  • Microsoft Defender
    Attack Surface Reduction Configuration with Microsoft Defender Scripts
  • Featured image batch file.
    Retrieve Recent Windows Update: How to create batch script files Scripts
  • Get certificate thumbprint
    Retrieve an SSL Thumbprint in Windows using PowerShell Scripts
  • WinReg
    Unable to import Windows Reg File: The specified file is not a registry script Scripts
  • powershell
    How to install the Microsoft PSWindowsUpdate module silently Scripts
  • windows powershell thumbnail
    Unable to uninstall AppX? How to uninstall builtin programs using PowerShell in Windows 10 Scripts

More Related Articles

powershell How to perform PowerShell syntax check using PSScriptAnalyzer Scripts
FileNotFoundError Errno 2 No such file or directory Fix FileNotFoundError: [Errno 2] No such file or directory Scripts
How to visualize MBAM Recovery Audit Report with Python Visualize MBAM Recovery Audit Report with Python Automation
maxresdefault 2 How to uninstall Applications with PowerShell Script Scripts
Chocolatey Packages Create Chocolatey Package: Upgrade Software with Chocolatey Scripts
AzureCloudShell Provisioning Azure Resources using Azure Az PowerShell Cmdlet from Cloud Shell AWS/Azure/OpenShift

Comments (8) on “Get a list of installed applications on Windows”

  1. Avatar photo Shadetree Sam says:
    15/06/2022 at 11:09 PM

    Hi,
    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?

    Thanks.

    Log in to Reply
    1. Avatar photo Raymond says:
      29/09/2022 at 5:19 PM

      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.

      Log in to Reply
      1. chris Christian says:
        29/09/2022 at 5:25 PM

        Thanks a lot for the information. We will check this out and create a guide on it.

      2. Avatar photo Patrick says:
        27/01/2023 at 3:45 PM

        Hi,

        I am trying to use the code for getting a software list from a remote computer. I am new to PowerShell so I do not know what Get-Cim command is suitable to replace the Get-WmiObject command.

        Any help is much apricated.

      3. Avatar photo Christian says:
        31/01/2023 at 3:19 PM

        Hello Patrick,

        There are multiple ways to achieve this. Since you wish to achieve this with the Get-CimInstance cmdlet,  please try this command below:  

        Get-CimInstance -Class Win32_Product -Computer <remotecomputername>

      4. Avatar photo Patrick says:
        02/02/2023 at 11:38 AM

        Hi Christian,

        I am getting an error when I run the command you provided. You mentioned other ways of doing this, could you show some of these other ways.

      5. chris Christian says:
        03/02/2023 at 3:41 PM

        Hi Patrick,

        Please see this guide as it is time-consuming to publish a new guide. The steps here will help you. https://techdirectarchive.com/2023/02/03/winrm-cannot-complete-the-operation-verify-that-the-specified-computer-name-is-valid-that-the-computer-is-accessible-over-the-network/

  2. chris Christian says:
    04/02/2023 at 8:56 PM

    A new guide has been created for this topic: https://techdirectarchive.com/2023/02/04/how-to-get-the-list-of-installed-programs-locally-and-on-remote-computer-in-windows/

    Log in to Reply

Leave a Reply Cancel reply

You must be logged in to post a comment.

Microsoft MVP

vexpert-badge-stars-5

Virtual Background

VEEAMLEGEND

Categories

Top 30 Sysadmin blog

veeaam100

Veeam Vanguard

  • screenshot 2020 03 07 at 22.25.21
    How to export and import User Profile – FrontFace Lockdown Tool Windows
  • email
    How to monitor Windows Server backup via PowerShell Windows Server
  • Reduce VMDK dile defragment and compact
    Analyse Disks with Treesize: Defragment and Shrink VMware Workstation VM Disks Virtualization
  • https blogs images.forbes.com jasonevangelho files 2018 06 windows 7 2018 edition 1200x676 1
    Windows deployment cannot continue, the operating system is missing via MDT deployment Windows Server
  • How to upgrade domain controllers e1775563888303
    Build a New DC vs Swing Migration: Upgrade Server OS Correctly Windows Server
  • AWS Principals
    MFA on Root Account: Create a User on AWS and Register MFA AWS/Azure/OpenShift
  • Continuous Deployment Pipeline Using AWS CodePipeline
    Setup a Continuous Deployment Pipeline with AWS CodePipeline AWS/Azure/OpenShift
  • exchange 2016 1
    Remove Microsoft Exchange Server: Using ADSIEdit Tool Network | Monitoring

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 1,745 other subscribers
  • RSS - Posts
  • RSS - Comments
  • About
  • Authors
  • Write for us
  • Contact
  • Advertise with us
  • General Terms and Conditions
  • Privacy policy
  • Feedly
  • Telegram
  • Youtube
  • Facebook
  • Instagram
  • LinkedIn
  • Tumblr
  • Pinterest
  • Twitter
  • mastodon
  • Bsky

Tags

Active Directory Azure Bitlocker Microsoft Windows PowerShell WDS Windows 10 Windows 11 Windows Deployment Services Windows Server 2016

Copyright © 2026 TechDirectArchive

Loading Comments...

You must be logged in to post a comment.