The Windows Registry is a repository filled with various Windows settings. Get-ItemProperty can read Registry values and accepts wildcards. So, with Get-ItemProperty, you can create tools to find and extract Registry information.
For example, if you know the name of a DLL and want to know whether it is registered and has a ClassID, here is a function that can retrieve that information:
function Get-ClassID { param($fileName = 'vbscript.dll') Write-Warning 'May take some time to produce results...' Get-ItemProperty 'HKLM:\Software\Classes\CLSID\*\InprocServer32' | Where-Object { $_.'(Default)' -like "*$FileName" } | ForEach-Object { if ($_.PSPath -match '{.*}') { $matches[0] } } }
It finds all keys called InprocServer32 that are located one level below the CLSID-key, then checks whether the (Default) value of that key contains the file name you are looking for. A regular expression then extracts the ClassID from the path of the registry key.