在PowerShell中的Where-Object

4

我应该如何将这两个组合起来?

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*|`
Where-Object {$_.displayname -like "*Database Engine Services*" } |  Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |Format-Table -AutoSize

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |  Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Where-Object {($_.displayname -like "*Engagement*")  } |`
 Format-Table –AutoSize 
1个回答

2

我采用了正则表达式的方法将你的Where-Object过滤器压缩到单个实例中,但是你也可以使用-OR将其带入单个实例。此外,没有必要将Select-Object转换为Format-Table,只需使用Format-Table即可指定要显示的属性。

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {
    $_.DisplayName -match '^Database Engine Services|Engagement'
} | Format-Table DisplayName, DisplayVersion, Publisher, InstallDate -AutoSize

以下是使用-LIKE语句和-OR的替代方法:

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {
    $_.DisplayName -LIKE 'Database Engine Services*' -OR $_.DisplayName -LIKE '*Engagement*'
} | Format-Table DisplayName, DisplayVersion, Publisher, InstallDate -AutoSize

1
谢谢您,@boeprox先生。我是您和您的Get-SQLInstance的忠实粉丝,我经常使用它来自动化我的项目工作。是的,这解决了我的问题。谢谢您,先生。 - Learning_Learning

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接