This PowerShell script scans the Windows registry for installed applications, retrieving key details such as application name, version number, publisher, and installation date. It then displays the information in a neatly formatted table, making it easy to audit and manage software installations on your system.
Click to view script…
# Define registry paths for 64-bit and 32-bit applications
$registryPaths = @(
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
)
# Retrieve applications from the registry
$installedApps = foreach ($path in $registryPaths) {
Get-ItemProperty -Path $path -ErrorAction SilentlyContinue |
Where-Object { $_.DisplayName -and $_.DisplayVersion }
}
# Display the results in a formatted table
$installedApps |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Sort-Object DisplayName |
Format-Table -AutoSize