Foreach for select statement


Can someone tell what i’m doing wrong here ?

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | foreach-object {
select @{Name="Name";Expression={Get-Item HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*}}} | where {$ -match "\W\{"} 

I’m assuming you’re trying to get the names of items in the uninstall list.

Your major problem is the select statement

select @{Name=“Name”;Expression={Get-Item HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall*}}

You’re getting ALL of the items in the uninstall key and putting them into the name property - that’s why you don’t see any results

If you just want the names try this

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall* | select DisplayName, PSChildName

you can then play with the regex to determine what you want to filter

Thank you Richard, much appreciated.