Get a List of Software installed on your Computer

I just recently found this very simple way to check what programs are currently installed on my PCs. I then use Notepad++ to compare those two files.
Thanks to for the Tip.

You just need a PowerShell command-line window and enter the following command:

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

This will print the list of installed programs to the console. Now to save this list as file just add “> PCName.txt”

Get-WmiObject -Class Win32_Product | Select-Object -Property Name > PCName.txt

This will save the PCName.txt in the folder your Powershell is currently using. Its normally C:\Users\YourUsername or on an elevated console C:\Windows\System32. Now lets say you have done this on two Computers you own, and want to compare the files right away. For simplicity move both txt files to the same folder. Then use this command to compare the two lists right away in the PowerShell:

Compare-Object -ReferenceObject (Get-Content PC1.txt) -DifferenceObject (Get-Content PC2.txt)

This compare though, only lists the Programs which are different between both PCs, not the Programs available on both. Because of this I decided to use Notepad++ for my comparison. Using the Text Tools to sort both files A-Z, you can then use the compare tool and get a view like this:

Now you might wonder when you will ever want to use this function. But for Troubleshooting purposes it can be very helpful. Lets say program X runs on PC1 but doesnt want to run on PC2 no matter what you tried. A comparison of installed Software can help you find necessary Windows Packages or for example VisualStudio Redistributable updates. Apart of that, if you work on several computers, you sometimes might want to have a list of what Software is currently on which of your PCs.
In my example you can also for example quickly notice that my PC2 should get a Java update as its already 11 updates behind PC1, which may also not be on the latest version.

You may also like...