Powershell - Get values between brackets

Hi guys, I'm running the below command which shows me a list of updates within a group.

Get-CMSoftwareUpdate -UpdateGroupName group1 | select LocalizedDisplayName

The result looks something like this:
Security update for Windows 7 (KB123456)
Security update for Windows 7 (KB123456)
Security update for Windows 7 (KB123456)
Security update for Windows 7 (KB123456)
Security update for Windows 7 (KB123456)
Security update for Windows 7 (KB123456)
etc

What I'd like is the list of KB numbers instead of the entire name of the update.

Like this, without the brackets:
KB123456
KB123456
KB123456
KB123456
KB123456

How would I go about getting these values? I tried using .split but don't really know what I'm doing and didn't get anywhere.

Also, a small number of results don't have KB numbers, so it would be great if the script listed that result as "No KB" or something similar.
LVL 1
amaru96Asked:
Who is Participating?
 
oBdACommented:
Get-CMSoftwareUpdate -UpdateGroupName group1 | Select-Object -Property LocalizedDisplayName, @{Name="KB"; Expression={If ($_.LocalizedDisplayName -match '\((?<KB>KB\d{6,7})\)') {$Matches["KB"]} Else {"n/a"}}}

Open in new window

0
 
amaru96Author Commented:
Perfect! Thanks so much.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.