You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为PowerShell的Get-ItemProperty命令添加特定关键词筛选?

解决方案

1. 单个关键词筛选

匹配以'Teamv'开头的软件

用-like配合前缀通配符,精准定位首词匹配的软件:

Get-ItemProperty HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | 
    Where-Object { $_.DisplayName -like 'Teamv*' } |
    Select-Object DisplayName, DisplayVersion, InstallDate

匹配名称包含'Teamv'的软件

调整通配符位置,匹配任意位置包含关键词的软件:

Get-ItemProperty HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | 
    Where-Object { $_.DisplayName -like '*Teamv*' } |
    Select-Object DisplayName, DisplayVersion, InstallDate

2. 批量多关键词筛选

要同时检测Teamviewer、Kaspersky、Logmein这类多个软件,用正则表达式的-match操作符,关键词间用|分隔表示“或”逻辑:

$targetApps = 'Teamviewer|Kaspersky|Logmein'
Get-ItemProperty HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | 
    Where-Object { $_.DisplayName -match $targetApps } |
    Select-Object DisplayName, DisplayVersion, InstallDate

进阶:同时覆盖32/64位软件

原命令只读取了32位软件的注册表路径,加上64位路径可以获取完整列表,同时过滤无效条目和重复项:

$uninstallPaths = @(
    'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
    'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
)
$targetApps = 'Teamviewer|Kaspersky|Logmein'
Get-ItemProperty $uninstallPaths | 
    Where-Object { $_.DisplayName -and $_.DisplayName -match $targetApps } |
    Select-Object DisplayName, DisplayVersion, InstallDate |
    Sort-Object DisplayName -Unique

内容的提问来源于stack exchange,提问作者Kunta Kinke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 10:55:35