Foreach for select statement

This topic contains 2 replies, has 2 voices, and was last updated by Profile photo of Graham Beer Graham Beer 1 year, 6 months ago.

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

    Hi,

    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 {$_.name -match "\W\{"} 
    
  • #31588
    Profile photo of Richard Siddaway
    Richard Siddaway
    Moderator

    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
    Participant

    Thank you Richard, much appreciated.

You must be logged in to reply to this topic.