Foreach for select statement

This topic contains 2 replies, has 2 voices, and was last updated by Profile photo of Graham Beer Graham Beer 11 months, 3 weeks ago.

  • Author
  • #31587
    Profile photo of Graham Beer
    Graham Beer


    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\{"} 
  • #31588
    Profile photo of Richard Siddaway
    Richard Siddaway

    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

  • #31589
    Profile photo of Graham Beer
    Graham Beer

    Thank you Richard, much appreciated.

You must be logged in to reply to this topic.