1

In the windows registry reside many CLSID values (in HKEY_CLASSES_ROOT\CLSID) such as {16d51579-a30b-4c8b-a276-0ff4dc41e755}, many of which may belong to widely known or even built-in applications or libraries. Is there a list or database that contains a mapping of these?

Some usages would be, to present a more meaningful name in a registry viewer along with the key, or checking whether a particular application is present (or was present and not anymore) but has left some keys in the registry.

n611x007
  • 8,952
  • 8
  • 59
  • 102

2 Answers2

7

You should not rely on this mapping.

If you need to go from ProgID to CLSID or the other way around, you can do it by calling ProgIDFromCLSID or CLSIDFromProgID APIs.

n611x007
  • 8,952
  • 8
  • 59
  • 102
Zdeslav Vojkovic
  • 14,391
  • 32
  • 45
2

It's in the registry. You could try:

Get-ItemProperty -Path "HKLM:\SOFTWARE\Classes\CLSID\*" `
    |select PSChildName,`(default`) |ft -auto *

HKEY_CLASSES_ROOT is an alias for HKEY_LOCAL_MACHINE\SOFTWARE\Classes. There're other words stored in various key values under each CLSID, so you could get cleverer with the PowerShell, but this is a start.

Teharez
  • 501
  • 8
  • 25
Todd Walton
  • 1,083
  • 11
  • 24
  • 1
    It's worth mentioning that HKEY_CLASSES_ROOT (HKCR) is a combination of both `HKLM\SOFTWARE\Classes` and `HKCU\SOFTWARE\Classes` -- and in the case of conflicting keys/values in both hives, the entries in `HKCU\SOFTWARE\Classes` will take precendence and will be the only ones visibile in HKCR. You can use the `New-PSDrive` cmdlet to create an HKCR drive, similar to the default HKCU and HKLM PSDrives: `New-PSDrive -name 'HKCR' -PSProvider Registry -Root Registry::HKEY_CLASSES_ROOT` – Paul π May 03 '23 at 20:44