OS: | Windows | ||||||||||
Type: | A Windows PowerShell script | ||||||||||
Language: | Windows PowerShell | ||||||||||
Description: | Get-InstalledPrograms queries the Windows registry for installed programs. The keys from HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ and HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\ are read on 64-bit computers and on the 32-bit computers only the latter path is accessed. Basic program related properties, such as Name, Version, Install Date, Publisher, Comments, Contact, Icon, Estimated Size, Help Link, Install Location, Install Source, Language, Modify Path, NoModify, NoRepair, Partner Code, PSChildName, PSDrive, PSProvider, Uninstall String, URL Info (About), URL Update Info, Version (Real), Version Major, Version Minor and Windows Installer are written to a CSV-file and displayed in a pop-up window (Out-Gridview). On Windows 8 / Windows Server 2012 machines (and later) also the installed Windows Store apps are enumerated with the Get-AppxPackage cmdlet(, which requires PowerShell 3.0 or later) in a separate CSV-file and displayed in a pop-up window (Out-Gridview); If Get-InstalledPrograms is run in an elevated PowerShell window, the Apps that are installed under other than the current user profile are detected, too.
The enumeration of installed programs in a Windows machine may take some time – therefore a progress bar is included in Get-InstalledPrograms for monitoring the steps taken. Also, after the Get-InstalledPrograms is finished, a rudimentary summary about the performance of the machine is shown. Similarly, in "Code snippet 1" is described what is not included in Get-InstalledPrograms. The " Get-WmiObject -Class Win32_Product " query method was discarded mainly due to the excessive long running times. Please see the Notes section below for further debate on the notorious Win32_Product Class.
On the other hand, as described in "Code snippet 2", if it is relevant to find out, whether a particular version of a known program is installed or not, the here unused function Check-InstalledSoftware could be called to action (the code is taken from https://github.com/auberginehill/update-adobe-flash-player" and is quite quick): Check-InstalledSoftware "Adobe Flash Player 23 NPAPI" 23.0.0.162
will return all the aforementioned info on the queried program, if it is installed, but returns a null value, if such a program doesn't exist on the machine. |
||||||||||
Homepage: | https://github.com/auberginehill/get-installed-programs
Short URL: http://tinyurl.com/j7a4eky |
||||||||||
Version: | 1.2 | ||||||||||
Sources: |
|
||||||||||
Downloads: | For instance Get-InstalledPrograms.ps1. Or everything as a .zip-file. |
➡️ |
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
📖 | To open this code in Windows PowerShell, for instance: | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Find a bug? Have a feature request? Here is how you can contribute to this project:
Bugs: | Submit bugs and help us verify fixes. | |
Feature Requests: | Feature request can be submitted by creating an Issue. | |
Edit Source Files: | Submit pull requests for bug fixes and features and discuss existing proposals. |