## Search for a registry value by value content (use -eq, le, -ge, etc instead of -match for numeric Get-ChildItem -Path HKLM:\SOFTWARE\ -Recurse -PipelineVariable key -EA 0|ForEach-Object { (Get-ItemProperty -Path $key.PSPath -EA 0).psobject.properties | where value -match 'Leech' | select @{n='Key';e={$key.Name}},name,TypeNameOfValue,value } ## Search for a registry value by value name Get-ChildItem -Path HKLM:\SOFTWARE\ -Recurse -PipelineVariable key -EA 0|ForEach-Object { (Get-ItemProperty -Path $key.PSPath -EA 0).psobject.properties | where name -match 'Leech' | select @{n='Key';e={$key.Name}},name,TypeNameOfValue,value } ## Search for a registry key by key name Get-ChildItem -Path HKLM:\SOFTWARE -Recurse -include '*yellow*'