PowerShell is one of the most powerful things built into Windows, so of course it can do something as simple as list your installed programs. In fact, all you need is one command, which you can copy and paste right from this page.
First, open PowerShell by clicking on the Start menu and typing “powershell”. Select the first option that comes up and you’ll be greeted with an empty PowerShell prompt.
Copy and paste the following command, pressing Enter when you’re done:
|Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*||Select-Object DisplayName, DisplayVersion, Publisher, InstallDate||Format-Table –AutoSize|
PowerShell will give you a list of all your programs, complete with the version, name of the developer, and even the date you installed it.
You will probably want to export that to a file though, which is also easy enough. You can just send the output using the > symbol and adding the path to a new text file that you want to create. For example:
|Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*||Select-Object DisplayName, DisplayVersion, Publisher, InstallDate||Format-Table –AutoSize > C:\Users\Lori\Documents\InstalledPrograms-PS.txt|
C:\Users\Lori\Documents\InstalledPrograms-PS.txt with the path and name you want to use for your file.
What makes using PowerShell really neat is that if you do this on two different machines, you can easily compare the software installed on them. Just take your two text files and add them to this command:
Compare-Object -ReferenceObject (Get-Content C:\Users\Lori\Documents\PCapps.txt) -DifferenceObject (Get-Content C:\Users\Lori\Documents\LAPTOPapps.txt)
In this example, one text file has programs from my PC, and the other has programs from my laptop. Any entries with a side indicator pointing to the right (=>) mean that the software is installed on my laptop but not on my PC, and any entries with a side indicator pointing to the left (<=) mean that the software is installed on my PC but not on my laptop.