where-object-likeを使用して、レジストリから複数のアイテムをフィルタリングする方法
-
21-12-2019 - |
質問
where-object
を使用してレジストリからのアイテムをいくつか取得しようとしています、私は1つのアイテムをフィルタリングするだけです。
Get-ChildItem HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ |
ForEach-Object {Get-ItemProperty $_.pspath} |
Where-Object {
$_.Displayname -like 'adobe air'
} |
Select-Object DisplayName,DisplayVersion |
Sort-Object DisplayName |
Out-GridView
.
Get-ChildItem HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ |
ForEach-Object {Get-ItemProperty $_.pspath} |
Where-Object {
$_.Displayname -like 'adobe air' -and
$_.Displayname -like 'Java*' -and
$_.Displayname -like 'TeamViewer*'
} |
Select-Object DisplayName,DisplayVersion |
Sort-Object DisplayName |
Out-GridView
.
を使った場合
Where-Object {
$_.Displayname -like "Security*"
}
.
それは私に3つのアイテムがSecurity
と一致しているだけで、それらすべてではなく、なぜ?
解決
問題はあなたが入っている論理です。-and
とは、どちらも真実である必要があります。代わりに-or
を使用します。
所属していません StackOverflow