I am trying to get a list of all applications on my Windows Desktop.
I have tried the following command but this is not giving me a full list with some applications missing (e.g.: Steam):
`
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
` I have seen that Windows is providing the virtual folder "shell:AppsFolder" but I am not able to use a Get-ChildItem to see all contents of this path.
Do you have any solutions to my problem?
Tried:
`
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
`
Result:
AnyDesk ad 7.0.14 philandro Software GmbH
Google Chrome 106.0.5249.119 Google LLC 20221014
KeePass Password Safe 2.51.1 2.51.1 Dominik Reichl 20220830
Lenovo Welcome 3.6.1.2 Lenovo Group Ltd.
Trellix Agent 5.7.7.378 Trellix
Microsoft Edge 106.0.1370.52 Microsoft Corporation 20221021
Microsoft Edge Update 1.3.169.31
Microsoft Edge WebView2-Laufzeit 106.0.1370.52 Microsoft Corporation 20221024
Lenovo Vantage Service 3.13.14.0 Lenovo Group Ltd. 20220830
WatchGuard System Manager 12.7.0 WatchGuard Technologies, Inc. 20220906
WinSCP 5.21.2 5.21.2 Martin Prikryl 20220830
Java 8 Update 351 8.0.3510.10 Oracle Corporation 20221019
Microsoft Visual C 2019 X86 Minimum Runtime - 14.29.30135 14.29.30135 Microsoft Corporation 20221004
mRemoteNG 1.76.20.24615 Next Generation Software 20220909
Java Auto Updater 2.8.351.10 Oracle Corporation 20221019
Microsoft Azure Information Protection 2.14.90.0 Microsoft Corporation 20220930
Teams Machine-Wide Installer 1.5.0.8070 Microsoft Corporation 20220830
Microsoft Visual C 2019 X86 Additional Runtime - 14.29.30135 14.29.30135 Microsoft Corporation 20221004
Jabra Direct 6.4.28501 GN Audio A/S 20221020
Microsoft S/MIME ActiveX Control 15.4.7047 Microsoft Corporation 20221004
Office 16 Click-to-Run Extensibility Component 16.0.15629.20118 Microsoft Corporation 20220929
Office 16 Click-to-Run Localization Component 16.0.15629.20118 Microsoft Corporation 20220929
Jabra Direct 6.4.28501 GN Audio A/S
Microsoft Visual C 2015-2019 Redistributable (x86) - 14.29.30135 14.29.30135.0 Microsoft Corporation
Microsoft Search in Bing 2.0.2 Microsoft Corporation 20220830
VMware Remote Console 12.0.2 VMware, Inc. 20220906
Trellix Data Exchange Layer for MA 6.0.3.847 Trellix
DefaultPackMSI 4.6.2.0 Microsoft 20220830
DFUDriverSetupX64Setup 7.0.32822.0 GN Netcom A/S 20220830
Microsoft Visual C 2010 x86 Redistributable - 10.0.40219 10.0.40219 Microsoft Corporation 20220906
CodePudding user response:
What you are extracting under Wow6432node
are 32 bit keys registered for 64 bit programs
.
- Try running this in
powershell
orpowershell-core
:
$RegistryLocation = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
- and then print to console
Get-ItemProperty $RegistryLocation | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
- Note: some applications dont have registered field/object data value, so you see them as blank lines
- Or you can get them by
Get-ChildItem
by doing:
$RegistryLocation = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\',
'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\'
Get-ChildItem $RegistryLocation | select @{N='DisplayName'; E={$_.GetValue('DisplayName')}} | sort name | Format-Table –AutoSize
- For GUI-ouptut use
out-gridview
instead ofFormat-Table –AutoSize
CodePudding user response:
You have to use the shell.applicaiton
com object to access virtual folders:
$Shell = New-Object -ComObject shell.applicaiton
$AppsFolder = $Shell.NameSpace("shell:AppsFolder")
$AppsFolder | select Name , Path | Out-GridView